GitPages使用
-
下载安装:http://www.git-scm.com/downloads,或者https://www.baidu.com/s?ie=UTF-8&wd=git%E4%B8%8B%E8%BD%BD
-
SSH key设置
-
$ cd ~/.ssh
-
生成ssh key: ssh-keygen -t rsa -C "email@xx.com", 然后一路回车默认
- 添加SSH Key到GitHub
Jkeyll介绍
Jekyll文件结构简单介绍:
_config.yml
配置文件,用来定义想要的效果,设置之后就不用关心了。
_includes
可以用来存放一些小的可复用的模块,方便通过{ % include file.ext %}(去掉前两个{中或者{与%中的空格,下同)灵活的调用。这条命令会调用_includes/file.ext文件。
_layouts
这是模板文件存放的位置。模板需要通过YAML front matter来定义,{ { content }}标记用来将数据插入到这些模板中来。
_posts
你的动态内容,一般来说就是你的博客正文存放的文件夹。他的命名有严格的规定,必须是2011-02-26-artical-title.MARKUP这样的形式,MARKUP是你所使用标记语言的文件后缀名,根据_config.yml中设定的链接规则,可以根据你的文件名灵活调整,文章的日期和标记语言后缀与文章的标题的独立的。
_site
这个是Jekyll生成的最终的文档,不用去关心。最好把他放在你的.gitignore文件中忽略它。
其他文件夹
你可以创建任何的文件夹,在根目录下面也可以创建任何文件,假设你创建了project文件夹,下面有一个github-pages.md的文件,那么你就可以通过yoursite.com/project/github-pages访问的到,如果你是使用一级域名的话。文件后缀可以是.html或者markdown或者textile。这里还有很多的例子:https://github.com/mojombo/jekyll/wiki/Sites
Jekyll的配置
Jekyll的配置写在_config.yml文件中,可配置项有很多,官方配置文档有很详细的说明,有需要了可以去查,这里主要说两个比较重要的东西,一个是Permalink,还有就是自定义项。
Permalink项用来定义你最终的文章链接是什么形式,他有下面几个变量:
- year 文件名中的年份
- month 文件名中的月份
- day 文件名中的日期
- title 文件名中的文章标题
- categories 文章的分类,如果文章没有分类,会忽略
- i-month 文件名中的除去前缀0的月份
- i-day 文件名中的除去前缀0的日期
看看最终的配置效果:
- permalink: pretty /2016/01/26/slap-chop/index.html
- permalink: /:month-:day-:year/:title.html /04-29-2009/slap-chop.html
- permalink: /blog/:year/:month/:day/:title /blog/2009/04/29/slap-chop/index.html
我使用的是:
- permalink: /:title /github-pages
自定义项的内容,例如我们定义了title:BeiYuu的博客这样一项,那么你就可以在文章中使用{ { site.title }}来引用这个变量了,非常方便定义些全局变量。
YAML Front Matter和模板变量
对于使用YAML定义格式的文章,Jekyll会特别对待,他的格式要求比较严格,必须是这样的形式:
- layout: post
- title:BloggingLike a Hacker
前后的---不能省略,在这之间,你可以定一些你需要的变量,layout就是调用_layouts下面的某一个模板,他还有一些其他的变量可以使用:
- permalink 你可以对某一篇文章使用通用设置之外的永久链接
- published 可以单独设置某一篇文章是否需要发布
- category 设置文章的分类
- tags 设置文章的tag
上面的title就是自定义的内容,你也可以设置其他的内容,在文章中可以通过{ { page.title }}这样的形式调用。
模板变量,我们之前也涉及了不少了,还有其他需要的变量,可以参考官方的文档:https://github.com/mojombo/jekyll/wiki/template-data
代码高亮插件
Google Code Prettify。
使用比较方便,只需要在<pre>的标签上加入prettyprint即可。