Contents
  1. 1. 第一步,创建项目。
  2. 2. 第二步,创建设置文件。
  3. 3. 第三步,创建模板文件。
  4. 4. 第一步,创建项目。
  5. 5. 第二步,创建设置文件。
  6. 6. 第三步,创建模板文件。
  7. 7. 第四步,创建文章。
  8. 8. 第五步,创建首页。
  9. 9. 第六步,发布内容。
  10. 10. 第七步,绑定域名。
  11. 11. 第四步,创建文章。
  12. 12. 第五步,创建首页。
  13. 13. 第六步,发布内容。
  14. 14. 第七步,绑定域名。

下面,我举一个实例,演示如何在github上搭建blog,你可以跟着一步步做。为了便于理解,这个blog只有最基本的功能。
在搭建之前,你必须已经安装了git,并且有github账户。

第一步,创建项目。

在你的电脑上,建立一个目录,作为项目的主目录。我们假定,它的名称为jekyll_demo。

1
$ mkdir jekyll_demo

对该目录进行git初始化。

1
2
$ cd jekyll_demo
$ git init

然后,创建一个没有父节点的分支gh-pages。因为github规定,只有该分支中的页面,才会生成网页文件。

1
$ git checkout --orphan gh-pages

以下所有动作,都在该分支下完成。

第二步,创建设置文件。

在项目根目录下,建立一个名为_config.yml的文本文件。它是jekyll的设置文件,我们在里面填入如下内容,其他设置都可以用默认选项,具体解释参见官方网页

1
baseurl: /jekyll_demo

目录结构变成:

1
2
/jekyll_demo
    |-- _config.yml

第三步,创建模板文件。

在项目根目录下,创建一个_layouts目录,用于存放模板文件。

1
$ mkdir _layouts

进入该目录,创建一个default.html文件,作为Blog的默认模板。并在该文件中填入以下内容。

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
  <html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>{ page.title }</title>
  </head>
  <body>

    { content }

  </body>
  </html>

Jekyll使用Liquid模板语言,表示文章标题,下面,我举一个实例,演示如何在github上搭建blog,你可以跟着一步步做。为了便于理解,这个blog只有最基本的功能。
在搭建之前,你必须已经安装了git,并且有github账户。

第一步,创建项目。

在你的电脑上,建立一个目录,作为项目的主目录。我们假定,它的名称为jekyll_demo。

1
$ mkdir jekyll_demo

对该目录进行git初始化。

1
2
$ cd jekyll_demo
$ git init

然后,创建一个没有父节点的分支gh-pages。因为github规定,只有该分支中的页面,才会生成网页文件。

1
$ git checkout --orphan gh-pages

以下所有动作,都在该分支下完成。

第二步,创建设置文件。

在项目根目录下,建立一个名为_config.yml的文本文件。它是jekyll的设置文件,我们在里面填入如下内容,其他设置都可以用默认选项,具体解释参见官方网页

1
baseurl: /jekyll_demo

目录结构变成:

1
2
/jekyll_demo
    |-- _config.yml

第三步,创建模板文件。

在项目根目录下,创建一个_layouts目录,用于存放模板文件。

1
$ mkdir _layouts

进入该目录,创建一个default.html文件,作为Blog的默认模板。并在该文件中填入以下内容。

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
  <html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>{ page.title }</title>
  </head>
  <body>

    { content }

  </body>
  </html>

Jekyll使用Liquid模板语言,{{ page.title }}表示文章标题,{{ content }}表示文章内容,更多模板变量请参考官方文档
目录结构变成:

1
2
3
4
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html

第四步,创建文章。

回到项目根目录,创建一个_posts目录,用于存放blog文章。

1
$ mkdir _posts

进入该目录,创建第一篇文章。文章就是普通的文本文件,文件名假定为2012-08-25-hello-world.html。(注意,文件名必须为”年-月-日-文章标题.后缀名”的格式。如果网页代码采用html格式,后缀名为html;如果采用markdown格式,后缀名为md。)
在该文件中,填入以下内容:(注意,行首不能有空格)

1
2
3
4
5
6
7
---
  layout: default
  title: 你好,世界
  ---
  <h2>{ page.title }</h2>
  <p>我的第一篇文章</p>
  <p>{ page.date | date_to_string }</p>

每篇文章的头部,必须有一个yaml文件头,用来设置一些元数据。它用三根短划线”—-“,标记开始和结束,里面每一行设置一种元数据。”layout:default”,表示该文章的模板使用_layouts目录下的default.html文件;”title: 你好,世界”,表示该文章的标题是”你好,世界”,如果不设置这个值,默认使用嵌入文件名的标题,即”hello world”。
在yaml文件头后面,就是文章的正式内容,里面可以使用模板变量。{{ page.title }}就是文件头中设置的”你好,世界”,{{ page.date }}则是嵌入文件名的日期(也可以在文件头重新定义date变量),”| date_to_string”表示将page.date变量转化成人类可读的格式。
目录结构变成:

1
2
3
4
5
6
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html 
    |-- _posts
    |   |-- 2012-08-25-hello-world.html

第五步,创建首页。

有了文章以后,还需要有一个首页。
回到根目录,创建一个index.html文件,填入以下内容。

1
2
3
4
5
6
7
8
9
10
11
---
  layout: default
  title: 我的Blog
  ---
  <h2>{ page.title }</h2>
  <p>最新文章</p>
  <ul>
    { for post in site.posts }
      <li>{ post.date | date_to_string } <a href="{ site.baseurl }{post.url }">{ post.title }</a></li>
    { endfor }
  </ul>

它的Yaml文件头表示,首页使用default模板,标题为”我的Blog”。然后,首页使用了 for post in site.posts ,表示对所有帖子进行一个遍历。这里要注意的是,Liquid模板语言规定,输出内容使用两层大括号,单纯的命令使用一层大括号。至于{{site.baseurl}}就是_config.yml中设置的baseurl变量。
目录结构变成:

1
2
3
4
5
6
7
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html 
    |-- _posts
    |   |-- 2012-08-25-hello-world.html
    |-- index.html

第六步,发布内容。

现在,这个简单的Blog就可以发布了。先把所有内容加入本地git库。

1
2
$ git add .
  $ git commit -m "first post"

然后,前往github的网站,在网站上创建一个名为jekyll_demo的库。接着,再将本地内容推送到github上你刚创建的库。注意,下面命令中的username,要替换成你的username。

1
2
$ git remote add origin https://github.com/username/jekyll_demo.git
  $ git push origin gh-pages

上传成功之后,等10分钟左右,访问http://username.github.com/jekyll_demo/ 就可以看到Blog已经生成了(将username换成你的用户名)。

第七步,绑定域名。

如果你不想用http://username.github.com/jekyll_demo/ 这个域名,可以换成自己的域名。
具体方法是在repo的根目录下面,新建一个名为CNAME的文本文件,里面写入你要绑定的域名,比如example.com或者xxx.example.com。
如果绑定的是顶级域名,则DNS要新建一条A记录,指向204.232.175.78。如果绑定的是二级域名,则DNS要新建一条CNAME记录,指向username.github.com(请将username换成你的用户名)。此外,别忘了将_config.yml文件中的baseurl改成根目录”/“。
至此,最简单的Blog就算搭建完成了。进一步的完善,请参考Jekyll创始人的示例库,以及其他用Jekyll搭建的blog

—出处http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html表示文章内容,更多模板变量请参考官方文档
目录结构变成:

1
2
3
4
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html

第四步,创建文章。

回到项目根目录,创建一个_posts目录,用于存放blog文章。

1
$ mkdir _posts

进入该目录,创建第一篇文章。文章就是普通的文本文件,文件名假定为2012-08-25-hello-world.html。(注意,文件名必须为”年-月-日-文章标题.后缀名”的格式。如果网页代码采用html格式,后缀名为html;如果采用markdown格式,后缀名为md。)
在该文件中,填入以下内容:(注意,行首不能有空格)

1
2
3
4
5
6
7
---
  layout: default
  title: 你好,世界
  ---
  <h2>{ page.title }</h2>
  <p>我的第一篇文章</p>
  <p>{ page.date | date_to_string }</p>

每篇文章的头部,必须有一个yaml文件头,用来设置一些元数据。它用三根短划线”—-“,标记开始和结束,里面每一行设置一种元数据。”layout:default”,表示该文章的模板使用_layouts目录下的default.html文件;”title: 你好,世界”,表示该文章的标题是”你好,世界”,如果不设置这个值,默认使用嵌入文件名的标题,即”hello world”。
在yaml文件头后面,就是文章的正式内容,里面可以使用模板变量。就是文件头中设置的”你好,世界”,则是嵌入文件名的日期(也可以在文件头重新定义date变量),”| date_to_string”表示将page.date变量转化成人类可读的格式。
目录结构变成:

1
2
3
4
5
6
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html 
    |-- _posts
    |   |-- 2012-08-25-hello-world.html

第五步,创建首页。

有了文章以后,还需要有一个首页。
回到根目录,创建一个index.html文件,填入以下内容。

1
2
3
4
5
6
7
8
9
10
11
---
  layout: default
  title: 我的Blog
  ---
  <h2>{ page.title }</h2>
  <p>最新文章</p>
  <ul>
    { for post in site.posts }
      <li>{ post.date | date_to_string } <a href="{ site.baseurl }{post.url }">{ post.title }</a></li>
    { endfor }
  </ul>

它的Yaml文件头表示,首页使用default模板,标题为”我的Blog”。然后,首页使用了 for post in site.posts ,表示对所有帖子进行一个遍历。这里要注意的是,Liquid模板语言规定,输出内容使用两层大括号,单纯的命令使用一层大括号。至于就是_config.yml中设置的baseurl变量。
目录结构变成:

1
2
3
4
5
6
7
/jekyll_demo
    |-- _config.yml
    |-- _layouts
    |   |-- default.html 
    |-- _posts
    |   |-- 2012-08-25-hello-world.html
    |-- index.html

第六步,发布内容。

现在,这个简单的Blog就可以发布了。先把所有内容加入本地git库。

1
2
$ git add .
  $ git commit -m "first post"

然后,前往github的网站,在网站上创建一个名为jekyll_demo的库。接着,再将本地内容推送到github上你刚创建的库。注意,下面命令中的username,要替换成你的username。

1
2
$ git remote add origin https://github.com/username/jekyll_demo.git
  $ git push origin gh-pages

上传成功之后,等10分钟左右,访问http://username.github.com/jekyll_demo/ 就可以看到Blog已经生成了(将username换成你的用户名)。

第七步,绑定域名。

如果你不想用http://username.github.com/jekyll_demo/ 这个域名,可以换成自己的域名。
具体方法是在repo的根目录下面,新建一个名为CNAME的文本文件,里面写入你要绑定的域名,比如example.com或者xxx.example.com。
如果绑定的是顶级域名,则DNS要新建一条A记录,指向204.232.175.78。如果绑定的是二级域名,则DNS要新建一条CNAME记录,指向username.github.com(请将username换成你的用户名)。此外,别忘了将_config.yml文件中的baseurl改成根目录”/“。
至此,最简单的Blog就算搭建完成了。进一步的完善,请参考Jekyll创始人的示例库,以及其他用Jekyll搭建的blog

—出处http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html

Contents
  1. 1. 第一步,创建项目。
  2. 2. 第二步,创建设置文件。
  3. 3. 第三步,创建模板文件。
  4. 4. 第一步,创建项目。
  5. 5. 第二步,创建设置文件。
  6. 6. 第三步,创建模板文件。
  7. 7. 第四步,创建文章。
  8. 8. 第五步,创建首页。
  9. 9. 第六步,发布内容。
  10. 10. 第七步,绑定域名。
  11. 11. 第四步,创建文章。
  12. 12. 第五步,创建首页。
  13. 13. 第六步,发布内容。
  14. 14. 第七步,绑定域名。