如何防止GitHub的页面“自动生成”删除之前的一切重新生成的网站?(How do I preven

2019-08-04 16:07发布

我创建了一个美妙的GitHub页面的网站为我的小项目 ,和我添加了一些其他页的进gh-pages分支。 我的问题是,每次我重新生成“设置=>自动页面生成”,一切都清理了网站,我必须手动恢复文件。

有没有一种方法,以防止或解决此问题?

这本来是更好,如果自动生成器只是覆盖他的东西而不删除现有的文件。

Answer 1:

  1. 结帐的gh-pages分支。
  2. MKDIR _layouts
  3. 移动index.html_layouts
  4. 编辑_layouts/index.html与替换内容部分的内部HTML {{content}}
  5. 使新文件index.md
  6. 自动页面生成的粘贴降价含量为index.md
  7. 前面加上以下内容index.md

     --- layout: index --- 
  8. 创建_config.yml
  9. 包括以下_config.yml

     markdown: kramdown kramdown: auto_ids: true 

    这一步是为了配合GitHub的降价语法

  10. 添加和提交更改,然后推分支回github上。

现在,你可以简单地编辑index.md从你的GitHub代码浏览器GH-分支 ,它将会更新杰基尔自动和不乱用您的GH-分支东西。

您也可以让更多的项目在使用占位布局编辑{{page.varname}}然后加varname:your text到你的头index.md



Answer 2:

嗯,有些尝试后我找到了解决办法。

我注意到,改变了我的网站的唯一文件是index.html的,生成的网站的其余部分是相同的。 中的index.html里面有一个<section>content</section>这是包含来自降价生成的HTML标签。

所以,我创建了两个文件header.incfooter.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

见实施细则这里 。

我用“闰日”的布局进行测试; 但我想它的工作原理也为别人。



Answer 3:

不,不可能。 当你做一个“生成”的GitHub抹GH-网页库。 你可以做的最好的是,你现在在做什么。 另一种选择可能是不使用GitHub的页面生成改变风格,但要找到的风格源(他们可能是在GitHub上的某处)和手动提交修改改变(替代CSS文件和其他小的调整)



Answer 4:

您可以配置杰基尔跳过与某些目录exclude选项。

(请注意,杰奇有keep_files选项-这是在文件destintation 。目录)



文章来源: How do I prevent the GitHub Pages “Automatic Generator” to remove everything before regenerate the site?