Jekyll 搭建过程

糜俊彦
2023-12-01

Jekyll 搭建过程


关于Jekyll

Jekyll本身是基于Ruby,它实际上也可以看成是一种模板引擎liquid的扩展。jekyll对liquid的主要扩展在于两点:

  • 内建专用于博客网站的对象,可以在模板中引用这些对象:page、site等
  • 对liquid进行了扩展,方便构建博客网站

类似其他的模板引擎一样,标记是模板引擎解析的关键,liquid设计了如下两种标记:

  • {{ }}:此标记表征的是将其中的变量转化成文本
  • {% %}:此标记用于包含控制流关键字,比如:{% if %}、{% for x in xx %}

Jekyll主要帮我建立一个快速建立页面的模板,用上述的编程语言实现.md的自动加载在页面。Jeckyll需要Ruby的环境,安装步骤如下:

  • Ruby的安装
  • RubyDevKit的安装
  • Rubygems的安装
  • Jekyll的安装

注:本文所用环境为windows64位,以下所有内容均在此环境下执行

Ruby

windows环境下需要使用Rubyinstaller安装。本文使用的是Ruby2.2.3版本。安装后在终端输入

ruby -v

后如果可以看到ruby版本,说明安装成功

RubyDevKit

安装DevKit需要与Ruby版本一致,这里用的是DevKit-mingw64-64-4.7.2。下载完成后双击,会以解压的方式打开,解压到你所要放的路径下。终端进入DevKit所在目录下,运行以下命令,会在该目录生成config.yml

dk.rb init

生成的config.yml文件是检测系统的Ruby的位置,可以打开config.yml查看

在该目录下执行安装命令:

setup.rb

如果没有setup.rb或是该命令无效的话,执行:

dk.rb install

Rubygems

Rubygems,这里使用的是2.5.1版本Rubygems类似于Ubuntu上的apt-get属于windows上基于ruby的应用程序打包部署解决方案。下载解压后,进入到该目录下执行:

setup.rb

Jekyll

在以上环境准备好后,执行:

gem install jekyll

就会自动下载Jekyll的组件

  • 输入命令后遇到了ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)Errno::ECONNRESET: An existing connection was forcibly closed by the remote host. 的问题。原因是国内无法使用gem。
    解决办法:更换gem的源地址,输入命令gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org然后重新下载就可以了

Jekyll测试

在有index.html的文件夹中执行:

jekyll serve –safe –watch

Jekyll会在127.0.0.1:4000监听网络请求,该端口是在Ruby22-x64\lib\ruby\gems\2.2.0\gems\jekyll-3.0.1\lib\jekyll\configuration.rb# Serving字段内配置的,用浏览器访问http://127.0.0.1:4000/index.html就会出现该页面。至此Jekyll已配置完成。

 类似资料: