Jekyll 安装、使用与卸载方法
最近用Jekyll在Github上架网站,前后花了几天时间深入了解一下Jekyll,现在将Jekyll的安装、使用与卸载方法分享出来。
Jekyll 是一个简单的网站静态页面生成工具。由于是用Ruby语音编写的,所以在Windows系统上配置起来还是稍微有点繁琐的。主要步骤如下:
- 安装Ruby:windows系统上使用rubyinstaller,猛戳我下载。根据官网体系下载相关版本。
- 安装Ruby DevKit:在上面那个官网的下方有下载地址。
- 安装Jekyll
安装方法
从rubyinstalll下载安装包并安装到某个磁盘中,如E:\Ruby193,勾选上安装界面的所有选项(不要问我为什么);把下载的DevKit解压到某个目录,比如E:\devit
注意:安装DevKit时最好在安装目录新建一个文件夹devit然后,运行安装程序选定该文件夹
git bash 环境进入devit安装目录,运行如下命令
cd /E/devit
ruby dk.rb init
来生成一个config.yml配置文件,该配置文件包含了前面的Ruby的安装目录E:\Ruby193(系统会自动帮你寻找Ruby的安装目录,cat config.yml
可以看到该文件里面已经写入了ruby目录的绝对路径)。
接下来运行ruby dk.rb install
。
最后运行命令gem install jekyll
结束整个流程
检测是否安装成功jekyll -v
简要介绍
在谈使用方法前有必要简单介绍一下什么是Jeklly、以及Jeklly的工作原理。这些核心的概念能解决你的一些疑惑,帮助你更深入的理解,也为后面学习使用模板使用打基础,不至于在出现错误的时候漫天的debug。
如果你只是想要简答了解或知道怎样使用jeklly,那么此部分可以跳过。
Jeklly是什么
Jekyll is a ruby gem you install on your local system. Once there you can call
jekyll --server
on a directory and provided that directory is setup in a way jekyll expects, it will do magic stuff like parse markdown/textile files, compute categories, tags, permalinks, and construct your pages from layout templates and partials.Once parsed, Jekyll stores the result in a self-contained static _site folder. The intention here is that you can serve all contents in this folder statically from a plain static web-server.
Jeklly是一个静态站点生成器,它会根据网页源码生成静态文件。它提供了模板、变量、插件等功能,所以实际上可以用来编写整个网站。
Jeklly是怎么工作的
安装完jeklly后你需要以jeklly可以识别的方式来组织你的目录。
它希望你使用下面的目录结构:
.
|-- _config.yml
|-- _includes
|-- _layouts
| |-- default.html
| |-- post.html
|-- _posts
| |-- 2011-10-25-open-source-is-good.markdown
| |-- 2011-04-26-hello-world.markdown
|-- _site
|-- index.html
|-- assets
|-- css
|-- style.css
|-- javascripts
- _config.yml:
配置文件数据
- _includes
This folder is for partial views.
- _layouts
这个目录主要包含模板,你可以为不同的页面(page)使用不同的模板。
- _posts
这个目录包含你的文章(post),且必须按照格式
@[email protected]
来进行命名 - _site
这个目录将被用来存放Jekyll生成的静态网站。
- assets
这个目录不属于Jekyll的标准结构。它代表了任何你希望放置在根目录下的目录,并且被Jekyll忽略。
(read more: https://github.com/mojombo/jekyll/wiki/Usage)
Jekyll怎样生成最终的静态文件
- 收集数据。
Jeklly扫描posts目录收集文章(post file)作为post对象。然后扫描layout、assets,最后在其他目录中搜索页面文件(pages file)。
- 计算数据。
Jeklly从上面那些对象中提取元数据(连接、标签、分类、标题、数据)并构造出一个很大的site对象来容纳所有的文章、页面、布局和元数据。在这一步中,你的站点简单来说就是一个ruby对象。
- 溶解文章和模板。
Jeklly遍历所有文章(post file)并将它们镶嵌到各自的布局中。溶解过程如下:Jeklly初始化一个Liquid模板,传递一个代表ruby站点对象的散列表和一个代表ruby文章对象的散列表,这两个散列表可以通过模板读取。
- 生成输出。
Liquid模板通过有模板提供的语法得到渲染,最终生成一个静态的表达文件。
使用方法
以bootstrap模板为例子简要介绍如何快速搭建起一个站点。
下载 Jekyll-bootstrap的模板项目到本地目录jekyll
git clone https://github.com/plusjade/jekyll-bootstrap.git demo
cd jekyll
进入目录,jekyll serve
启动服务
打开浏览器,地址栏输入http://localhost:4000/可以看到如下主页面
编写新文章
通过命令生成新文章
[email protected] /E/Git/demo (master)
$ rake post title="My first blog"
Creating new post: ./_posts/2015-02-11-my-first-blog.md
在_posts目录中可以找到该文件,并用Markdown编辑内容。
也可以直接将编辑好的文章放置到_posts目录中,但一定要在编辑好的文章开头使用YAML Front Matter。模板、文章和页面都需要提供YAML Front Matter,这样Jekyll才知道该如何处理你的文章。
在模板/文章/页面的开头需要提供如下格式的YAML Front Matter
---
layout: post
category : pages
tags : [how-to, jekyll]
---
... contents ...
编写新页面
通过命令生成新页面
[email protected] /E/Git/demo (master)
$ rake page name="about.md"
mkdir -p .
Creating new page: ./about.md
[email protected] /E/Git/demo (master)
$ rake page name="pages/about"
mkdir -p ./pages/about
Creating new page: ./pages/about/index.html
卸载Jekyll
安装配置Jekyll难,卸载却极其的简单。只需一句
gem unistall jekyll