Jekyll搭建过程中的Git命令

  04 Sep 2014 返回



搭建环境,推送至Github

  1. 创建Jekyll的新目录
  2. 初始化:git init
  3. 创建分支gh-pages:git checkout --orphan gh-pages
  4. 提交到本地git库中:
    git add --all .
    git commit -m "first post"

  5. 到github上建同名库“Myblog”:
    git remote add myblog(新的仓库名) https://github.com/(username)/Myblog.git
  6. 推送到github上:git push myblog gh-pages


解决插件禁用问题

   Jekyll提供了插件功能,在网站源代码目录下,有一个名为_plugins的目录,可以将一些插件放进去,这样,Jekyll在解析网站源代码时,就会运行其中的插件。例如我的博客中用到的分类功能,就是利用一项插件而得到的。
   在本地运行Jekyll时,这些插件会自动被调用,但是GitHub在解析网站源代码时,出于安全考虑,会开启安全模式,禁用这些插件。此时,GitHub为我们提供了另一种解析网站的方式,那就是直接上传最终的静态网页。这样,我们可以在本地使用Jeklly把网站解析出来,然后再上传到GitHub上, 这就使得我们既使用了插件,又使用了 GitHub。
   要想实现这一效果,我们需要维护两个分支,一个是网站的源代码分支,另一个是Jeklly 解析源代码后生成的静态网站
   例如,我的源代码分支名为source,静态网站分支名为gh-pages。平时写博客时,首先在master分支下,添加新文章,然后本地使用jekyll build将添加文章后的网站解析一次,这时_site目录下就有新网站的静态代码了。然后把这个目录下的所有内容复制到gh-pages分支下。以下为脚本命令:

git checkout source
git add --all .
git commit -m "deploy blog"
cp -r _site/ /tmp/
git checkout gh-pages
rm -r ./*
cp -r /tmp/_site/* ./
git add --all .
git commit -m "deploy blog"
git push origin gh-pages
git checkout source