我创建了一个美妙的GitHub页面的网站为我的小项目 ,和我添加了一些其他页的进gh-pages
分支。 我的问题是,每次我重新生成“设置=>自动页面生成”,一切都清理了网站,我必须手动恢复文件。
有没有一种方法,以防止或解决此问题?
这本来是更好,如果自动生成器只是覆盖他的东西而不删除现有的文件。
我创建了一个美妙的GitHub页面的网站为我的小项目 ,和我添加了一些其他页的进gh-pages
分支。 我的问题是,每次我重新生成“设置=>自动页面生成”,一切都清理了网站,我必须手动恢复文件。
有没有一种方法,以防止或解决此问题?
这本来是更好,如果自动生成器只是覆盖他的东西而不删除现有的文件。
gh-pages
分支。 _layouts
index.html
到_layouts
_layouts/index.html
与替换内容部分的内部HTML {{content}}
index.md
index.md
前面加上以下内容index.md
--- layout: index ---
_config.yml
包括以下_config.yml
:
markdown: kramdown kramdown: auto_ids: true
这一步是为了配合GitHub的降价语法
添加和提交更改,然后推分支回github上。
现在,你可以简单地编辑index.md
从你的GitHub代码浏览器GH-分支 ,它将会更新杰基尔自动和不乱用您的GH-分支东西。
您也可以让更多的项目在使用占位布局编辑{{page.varname}}
然后加varname:your text
到你的头index.md
。
嗯,有些尝试后我找到了解决办法。
我注意到,改变了我的网站的唯一文件是index.html的,生成的网站的其余部分是相同的。 中的index.html里面有一个<section>content</section>
这是包含来自降价生成的HTML标签。
所以,我创建了两个文件header.inc
和footer.inc
,包含了索引页的“静态”的一部分。 内容部分应该已经从生成README.md
文件。
我发现,是github上提供的API 渲染原始模式RAW降价为HTML。
因此,拼图的最后一块是获得我的项目的README.md一个固定链接,与原始内容; 我偶然发现在这里 。
所以我写了这个简单的bash脚本单独再生的index.html,不接触网站的其余部分:
#!/bin/sh
PG_DIR=$(dirname $0)
RAW_README_URL=https://raw.github.com/lviggiano/owner/master/README.md
GITHUB_API_URL=https://api.github.com/markdown/raw
cat $PG_DIR/header.inc
curl -s $RAW_README_URL | curl -s --data-binary @- -H 'Content-Type: text/plain' $GITHUB_API_URL
cat $PG_DIR/footer.inc
然后,我只是启动脚本:
$ cd myproject
$ git checkout gh-pages
$ git pull origin gh-pages:gh-pages
$ ./bin/autogen > index.html
$ git commit -m "updated index.html from latest README.md" index.html
$ git push origin gh-pages:gh-pages
见实施细则这里 。
我用“闰日”的布局进行测试; 但我想它的工作原理也为别人。
不,不可能。 当你做一个“生成”的GitHub抹GH-网页库。 你可以做的最好的是,你现在在做什么。 另一种选择可能是不使用GitHub的页面生成改变风格,但要找到的风格源(他们可能是在GitHub上的某处)和手动提交修改改变(替代CSS文件和其他小的调整)
您可以配置杰基尔跳过与某些目录exclude
选项。
(请注意,杰奇有keep_files
选项-这是在文件destintation
。目录)