这里介绍的是在Mac OS X El Capitan环境下使用Jekyll的流程。

安装Gem

安装Jekyll需要用到Gem这个Ruby包管理器。Gem官方安装教程点这里

查看/更新Gem版本:

  1. # 检查gem版本
  2. gem -v
  3. # 更新Gem(将提示权限)
  4. gem update --system

由于Gem source源在国内基本无法访问,这里将源替换为淘宝的镜像:

  1. gem sources --remove http://rubygems.org/
  2. gem sources -a https://ruby.taobao.org/
  3. # 查看当前源
  4. gem sources

安装Jekyll

通过Gem安装Jekyll:

  1. # 安装jekyll(将提示权限)
  2. $ gem install jekyll
  3. # 安装成功之后,查看版本号
  4. $ jekyll -v
  5. # 安装rdiscount,是Jekyll依赖的一个包
  6. $ gem install rdiscount

Mac OS X El Capitan引入了SIP(System Integrity Protection),限制了一些目录的写入权限,使用Gem安装Jekyll的时候会遇到 /user/bin 没有权限写入的问题。解决办法是可以将Jekyll安装到其他目录下:

  1. sudo gem install -n /usr/local/bin jekyll

可能要设置环境变量:

  1. export PATH=/usr/local/bin:$PATH

这样就可以了。

开始使用Jekyll

创建自己的静态网站可以有两种方式:

1.cd到目标目录下,自己新建:

  1. # 在该目录下初始化一个新的静态网站
  2. jekyll new .

2.在现有模板的基础上修改。一般情况下,总是要找一个适合主题,所以直接在这个主题下修改就好了。

Jekyll主题

Jekyll的开源主题很丰富,适合个人博客和企业建站的都有,这也正是弃用Hexo而选择Jekyll的一大原因。主题可自行搜索。使用步骤比较简单:

1.clone该项目,或者直接下载项目
2.解压,进入项目根目录,执行以下命令:

  1. # cd into project directory
  2. cd centrarium
  3. # install Bundler if you don't have it already
  4. gem install bundler
  5. # install jekyll, jekyll-archives, and jekyll-sitemap
  6. bundle install

有些主题的演示项目需要执行上述安装,安装过程中 `bundle install`` 会默认从 http://rubygems.org/ 上找相关组件,这里需要替换成淘宝的源:

  1. bundle config mirror.https://rubygems.org https://ruby.taobao.org

重新执行 `bundle install`` 进行安装即可。

本地运行

在根目录下执行:

  1. # 开启jekyll本地预览
  2. jekyll server

服务器启动成功后,即可通过浏览器输入 http://localhost:4000 访问站点,某些主题可能设置了子路径,比如:http://localhost:4000/centrarium。接下来,就可以修改项目中的文件来更新网站内容了。

## 部署到Coding Pages

在Coding.net新建一个项目,将博客所在项目push到新建的项目中,推荐的做法是创建一个新的coding-pages分支来作为启动Coding Pages之用(其他分支名也可以),然后切换到Pages标签,开启Pages服务,分支名填写为我们需要的分支,这里是coding-pages。

Coding会提供一个类似 `{user_name}.coding.me/{project_name}`` 的链接用于访问,同时在下方可以绑定自己的域名,很快生效,就可以通过域名访问站点了。


相关阅读

jekyll博客系统主页显示标签与文章摘要

Jekyll tag

https://dev.to/rpalo/jekyll-tags-the-easy-way

在jekyll的Post中链接到上一篇、下一篇文章

  1. <div class="post-recent">
  2. {% if page.previous %}
  3. <p>上一篇 <a href="{{ page.previous.url | prepend: site.baseurl }}">{{ page.previous.title }}</a></p>
  4. {% endif %}
  5. {% if page.next %}
  6. <p>下一篇 <a href="{{ page.next.url | prepend: site.baseurl }}">{{ page.next.title }}</a></p>
  7. {% endif %}
  8. </div>