我和几个人一起有一个项目,我们有一个README.md
文件,其中有一堆GitHub风味的Markdown,呈现在我们的GitHub页面上。我们还设置了一个GitHub页面分支,它托管在GitHub组织的子域中,并在创建页面时使用自动页面生成器简单地加载到我们的README.md
文件中。但是,我注意到,当我更新我们的README.md
文件时,它不会更新项目页面。相反,我们必须转到GitHub设置选项卡,重新创建项目页面,重新加载README.md
文件。
另外,在阅读了关于相对链接在GitHub项目目录页上的文档文件之间工作的信息之后。我非常喜欢这个标记,因为它节省了大量的时间,无需为文档手工编写所有HTML。然而,我想要的是能够有一个README.md
文件,它能够包含指向位于docs/*.md
的其他文档文件的相对链接。我希望有一个简单的解决方案,以便我的其他文档文件也可以包含在我的gh页面分支中,并托管在我的GitHub页面子域下,并呈现和/或主题化。
换句话说,我的问题是:
/docs/*.md
文件工作在我的Github页面,也许我的可能是我的/docs/*.md
同步到我的Github页面,并以某种方式呈现和/或主题它们?
发布于 2016-10-14 14:54:07
这不是硬的,两个拷贝和粘贴到终端,你们都准备好了。
Jekyll
允许您导入您的标记文件,然后它将负责将它们转换为HTML。诀窍是使用README.md
将您的index.md
文件导入{% include_relative README.md %}
。以下是我们如何做到这一点:
值得查看github网站 (它只是两个文件!)
设置
只需运行此一次安装(将整个代码块复制到终端中),您就可以复制这两个文件并使您的页面与当前的自述文件保持一致:
# Copy our two files to the gh-pages branch
git checkout -b gh-pages &&
wget https://raw.githubusercontent.com/lazamar/barebones-jekyll-project-readme/master/_config.yml &&
wget https://raw.githubusercontent.com/lazamar/barebones-jekyll-project-readme/master/index.md &&
#
# Commit and publish our page on github
git add -A && git commit -m "Create project github page" &&
git push --set-upstream origin gh-pages |
#
git checkout master # go back to master branch
自动化
然后,我们只需要在每次推送之前自动完成将所有更改从master
复制到gh-pages
分支的任务。我们可以通过运行这个脚本来做到这一点(您可以复制并粘贴到终端中)
$(cat > .git/hooks/pre-push << EOF
#!/bin/sh
we_are_in_gh_pages="\$(git branch | grep -G "* gh-pages")"
if [ ! "\$we_are_in_gh_pages" ];
then
git checkout gh-pages &&
git rebase master &&
git push -f &&
git checkout master # go back to master branch
fi
EOF
) && chmod 775 .git/hooks/pre-push
它将创建一个推钩子,它将在每次运行master
时将所有更改从gh-pages
分支复制到git push
。
就这样。完成。
https://stackoverflow.com/questions/15214762
复制相似问题