Github Pages with Jekyll

生命在于折腾,最近折腾jekyll+github pages生成个人github博客和项目主页,走了一些弯路,这里总结一下以作备忘。

什么是github pages

简单来说,github pages是github提供给开发者的一个免费存放静态网页的地方,开发者可以通过github pages来放置项目的主页或个人、组织的主页,比如:

详细介绍可以参考官网说明github pages

怎么创建github pages

github pages创建对项目和个人,有一些稍微的差别

详细步骤也可以参考官网说明github pages

github pages 和 jekyll

github pages是如何实现这个功能的呢,其实它背后就是jekyll,只是它的jekyll是在服务器端,而一般我们都是自己的电脑上,所以这里仅仅是对我们透明了而已。

所以我们在本地写的jekyll markdown文件可以直接上传,github会自动给我们生成对应的静态页面

不过,编译生成静态页面会有一些依赖库,为了确保本地的编译环境和github服务器构建的环境一致,有一个叫pages-gem工具,可以帮助我们实现这一目的,具体可以参考:

按照上面的步骤安装完成后,只是建好了jekyll的目录,此时只能根据markdown生成一个没有样式的简单文件,我们还需要初始化jekyll的必要目录,项目目录下执行

bundle exec jekyll new ./

这会收到一个错误提示:

Conflict: /Users/test/Documents/code/github/websiteflash.github.com exists and is not empty.

此时我们只能先将现有目录下得文件拷贝到一个临时目录,待安装完成后再拷贝出来,new的执行方式也稍微调整

jekyll new ./

这样就可以生成带样式的页面

总结