Windows 配置 Jekyll 环境

2017-02-12 Lu Huang 更多博文 » 博客 » GitHub »

原文链接 https://hlthu.github.io/blog/2017/02/12/windows-jekyll-build.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


本文将介绍如何在 Windows 上配置 Jekyll 本地编译环境,实现网站的本地预览。我的机器是 Windows 10 64位,需要先后安装 Ruby、DevKit、Python 等。至于 Python 我建议使用 miniconda 或者 anaconda,这个使用起来还是比较方便的。

前面的博客 GitHub Pages + Jekyll + Netlify 实现 https 个性域名,讲述了如何通过 GitHub Pages + Jekyll + Netlify 实现了自定义域名支持 https 访问的个人主页(博客)。之前的博客 Mac 配置 Jekyll 环境 也讲述了在 Mac 上配置 Jekyll 的过程。

安装 Ruby

  1. 前往 http://rubyinstaller.org/downloads/

  2. 在 “RubyInstallers” 部分,选择某个版本点击下载。 例如, Ruby 2.0.0-p451 (x64) 是适于64位 Windows 机器上的 Ruby 2.0.0 x64 安装包。

  3. 通过安装包安装

  • 最好保持默认的路径 C:\Ruby200-x64, 因为安装包明确提出 “请不要使用带有空格的文件夹 (如: Program Files)”。

  • 勾选 “Add Ruby executables to your PATH”,这样执行程序会被自动添加至 PATH 而避免不必要的头疼。

setup-ruby

  1. 打开一个命令提示行并输入以下命令来检测 Ruby 是否成功安装。
$ ruby -v
ruby 2.0.0p451 (2014-02-24) [x64-mingw32]   # 示例输出

安装 DevKit

DevKit 是一个在 Windows 上帮助简化安装及使用 Ruby C/C++ 扩展如 RDiscount 和 RedCloth 的工具箱。 详细的安装指南可以在程序的 wiki 页面 阅读。

  1. 再次前往 http://rubyinstaller.org/downloads/

  2. 下载同系统及 Ruby 版本相对应的 DevKit 安装包。 例如,DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe 适用于64位 Windows 系统上的 Ruby 2.0.0 x64。下面列出了如何选择正确的 DevKit 版本:

   Ruby 1.8.6 to 1.9.3: DevKit tdm-32-4.5.2
   Ruby 2.0.0: DevKit mingw64-32-4.7.2
   Ruby 2.0.0 x64: DevKit mingw64-64-4.7.2
  1. 运行安装包并解压缩至某文件夹,如 C:\DevKit

  2. 通过初始化来创建 config.yml 文件。在命令行窗口内,输入下列命令:

   cd “C:\DevKit”
   ruby dk.rb init
   notepad config.yml
  1. 在打开的记事本窗口中,于末尾添加新的一行 - C:\Ruby200-x64,保存文件并退出。请把 200 换成你自己的 Ruby 版本号。

  2. 回到命令行窗口内,审查(非必须)并安装。

   ruby dk.rb review
   ruby dk.rb install

安装 Jekyll

  1. 确保 gem 已经正确安装
   $ gem -v
   2.0.14   #输出示例
  1. 安装 Jekyll gem
   gem install jekyll

安装 Pygments

Jekyll 里默认的语法高亮插件是 Pygments。 它需要安装 Python 并在网站的配置文件 _config.yml 里将 highlighter 的值设置为 pygments

不久之前,Jekyll 还添加另一个高亮引擎名为 Rouge, 尽管暂时不如 Pygments 支持那么多的语言,但它是原生 Ruby 程序,而不需要使用 Python。 更多信息请点此关注。

安装 Python

我建议读者选择安装 miniconda 或 anaconda,2.7.12 版本可以从这里下载,读者也可以到清华的镜像上选择最新的版本。安装的时候建议只限本用户用,这样就会安装在你的主目录下,不会涉及到权限的问题。读者也可以使用清华的源作为 conda 安装软件包的来源。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

miiniconda 会把环境变量设好,建议重启使之生效,然后在命令行检查 python 是否可以正常使用。

$ python
Python 2.7.12 |Continuum Analytics, Inc.| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

安装 Pygments

使用下面的命令安装 Pygments。

conda install Pygments

启动Jekyll

直接按照 Jekyll 使用指南里的步骤启动会报错,和 Mac 配置 Jekyll 环境里遇到的错误差不多,执行下面三个命令,第三个仍然会报错。

$ gem install bundler
$ bundle install
$ bundle exec jekyll serve

报错如下:

Liquid Exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed in /_layouts/page.html

最后参考 SSL certificate verification failure in jekyll-github-metadata 才得以解决,即

Download the cacert.pem file from http://curl.haxx.se/ca/cacert.pem. Save this file to C:\RailsInstaller\cacert.pem.

以后每次执行编译和预览网站的命令时,按下面两个步骤进行即可。

1. set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem
2. bundle exec jekyll serve --destination ../site

你可以把 ../site 换成你自己的目录,该目录为输出目录。也可以去掉 --destination ../site 这部分。然后你就可以在 localhost:4000 预览你的网站啦。

参考