通过Github Pages和Jekyll搭建个人博客


目录###

1. 什么是Jekyll ?
2. 使用静态网站生成器的好处
3. 环境搭建
4. 主题


1. 什么是Jekyll ?

Jekyll
  • Jekyll 是目前非常流行的静态网站生成器(static website generator)。静态网站即只包含HTML, CSS 和 Javascript
Jekyll(raw_text_files, templates)
{
    return Beautiful_web_pages;
} 
  • 不同于WordPress, Ruby on Rails, CakePHP, Flask等这些需要web server的复杂应用程序。Jekyll不依赖于数据库或CMS。所以最适合用来建立个人博客,个人portfolio等等
  • Github Pages即靠Jekyll实现的

2. 使用静态网站生成器的好处

  • 轻量级网站,响应速度快
  • 网站更安全,无数据库,无动态数据
  • 无需通入过多精力维护

3. 环境搭建

本文只说明在Mac上的实现过程

第一步 安装 Jekyll
  • 首先打开terminal,输入
jason: ~ $ gem install jekyll
  • 如果提示错误,一般是读写权限问题,可尝试sudo,然后根据提示输入密码
jason: ~ $ sudo gem install jekyll
  • 输入jekyll -v,确认安装成功。若成功会提示版本信息,例如
jekyll 2.5.3
第二步 创建 Jekyll 项目
  • 首先cd到你想创建项目的目录下,比如我想在桌面创建
jason: ~ $ cd Desktop
  • 例如我想创建一个项目,叫Jason_Blog
jason: ~/Desktop $ jekyll new Jason_Blog
  • 成功会收到提示信息
New jekyll site installed in /Users/boyuan/Desktop/Jason_Blog.
  • Jason_Blog文件夹内容如下


    Jason_Blog
  • _config.yml 是配置文件,最为重要,包含了所有配置信息

  • _includes 文件夹包含了将被反复利用的文件,比如footer,header

  • _layouts 文件夹包含了主页面的排版布局

  • _posts 文件夹将包含所有的日志文件,Markdown格式

  • Jekyll为我们提供了一篇默认博客,我们可以通过运行下面的命令,然后再本地查看

boyuan: ~/Desktop $ cd Jason_Blog_2/
boyuan: ~/Desktop/Jason_Blog $ jekyll serve

注意:此时Jason_Blog文件夹中会增加_site文件夹,包含了生成网站的所有结构。同时,原来文件夹中开头没有下划线的文件夹会被复制到_site文件夹中,比如CSS文件夹

  • 停止本地运行,敲击CTR+C
第三步 更改配置文件_config.yml

详细内容参考官网 - Jekyll configuration
想了解更多YAML文件 - YAML

  • 打开_config.yml文件,可以看到一些基础设置

  • 更改URL显示
    原始URL: http://127.0.0.1:4000/jekyll/update/2015/06/22/welcome-to-jekyll.html

# Build settings
markdown: kramdown
permalink: pretty

URL变更为:http://127.0.0.1:4000/jekyll/update/2015/06/22/welcome-to-jekyll/

# Build settings
markdown: kramdown
permalink: /:title

URL变更为:http://127.0.0.1:4000/welcome-to-jekyll/

第四步 深入了解Jekyll模板

Jekyll实际使用的是模板语言Liquid来操作模板和输出文件的。Liquid现在是Github上的开源项目,有兴趣可以多了解一下,很简单

  • 在每一个_post文件夹的post文件中,在---中间的内容叫做YAML Front Matter,Liquid可以将这里的数据传送到模板中相应的位置。
---
layout: post                       // 表示选择post模板
title:  "Welcome to Jekyll!"       // 博客的标题
date:   2015-06-23 01:54:33        // 博客日期
author: Jason                      // 作者
categories: jekyll update          // 添加类别,空格分开
permalink: "Welcome to Jekyll"     // 确定显示的URL
---

注:反复使用的变量,比如layout, author等可以移到_config.yml

  • 从下面这张图我们可以看到,Jekyll中模板相关的文件在红框中,我们具体以default.html简述一下
default.html
  • 首先是Liquid的两种格式
// 格式一   output markup
{% include head.html %}
// 格式二   tag markup
{{ content }}
  • 第一个的意思就是把head.html文件添加到相应位置,同理header.htmlfooter.html

  • 第二个的意思就是具体某个post的内容会添加到相应位置,当然在相应的post中我们要指定layout是什么,比如下面就是指定layout为default。这个post的内容会添加到{{ content }}的位置。
    其实上述内容与ASP.NET 中的Razor布局很像 - ASP.NET Razor 简介

  • 下面这张图我们可以看到我们指定了这个post使用default,同时注意到{{ page.title }},title数据就来自于上面第一点说的YAML Front Matter

    post.html

  • 说完了post,我们再说说怎么增加新页面,比如About, Contact......
    新页面直接添加在项目根目录下,前面没有下划线,比如新建contact.md

// 下面是about.md 中的 YAML Front Matter
---
layout: page                       // 表示选择post模板
title: About                       // 标题为About
permalink: /about/                 //about后面添加一个 "/" 可是_site中生成同名文件夹
---
  • 在项目根目录下可以创建文件夹_drafts,然后再其中添加草稿,预览可输入
boyuan: ~/Desktop/Jason_Blog $ jekyll serve --drafts

4. 主题

有了上面的了解,网络上有一大波主题在等着你,直接下个主题,轻松简单。

最后,发布到Github吧, Free Free Free
请戳 => 如何使用Github Pages免费搭建网站

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容