通過Github Pages和Jekyll搭建個(gè)人博客


目錄###

1. 什么是Jekyll 噪径?
2. 使用靜態(tài)網(wǎng)站生成器的好處
3. 環(huán)境搭建
4. 主題


1. 什么是Jekyll ?

Jekyll
  • Jekyll 是目前非常流行的靜態(tài)網(wǎng)站生成器(static website generator)。靜態(tài)網(wǎng)站即只包含HTML, CSS 和 Javascript
Jekyll(raw_text_files, templates)
{
    return Beautiful_web_pages;
} 
  • 不同于WordPress, Ruby on Rails, CakePHP, Flask等這些需要web server的復(fù)雜應(yīng)用程序数初。Jekyll不依賴于數(shù)據(jù)庫或CMS找爱。所以最適合用來建立個(gè)人博客,個(gè)人portfolio等等
  • Github Pages即靠Jekyll實(shí)現(xiàn)的

2. 使用靜態(tài)網(wǎng)站生成器的好處

  • 輕量級(jí)網(wǎng)站泡孩,響應(yīng)速度快
  • 網(wǎng)站更安全窿吩,無數(shù)據(jù)庫介时,無動(dòng)態(tài)數(shù)據(jù)
  • 無需通入過多精力維護(hù)

3. 環(huán)境搭建

本文只說明在Mac上的實(shí)現(xiàn)過程

第一步 安裝 Jekyll
  • 首先打開terminal榛搔,輸入
jason: ~ $ gem install jekyll
  • 如果提示錯(cuò)誤鹰服,一般是讀寫權(quán)限問題,可嘗試sudo眼俊,然后根據(jù)提示輸入密碼
jason: ~ $ sudo gem install jekyll
  • 輸入jekyll -v意狠,確認(rèn)安裝成功。若成功會(huì)提示版本信息泵琳,例如
jekyll 2.5.3
第二步 創(chuàng)建 Jekyll 項(xiàng)目
  • 首先cd到你想創(chuàng)建項(xiàng)目的目錄下摄职,比如我想在桌面創(chuàng)建
jason: ~ $ cd Desktop
  • 例如我想創(chuàng)建一個(gè)項(xiàng)目誊役,叫Jason_Blog
jason: ~/Desktop $ jekyll new Jason_Blog
  • 成功會(huì)收到提示信息
New jekyll site installed in /Users/boyuan/Desktop/Jason_Blog.
  • Jason_Blog文件夾內(nèi)容如下


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

  • _includes 文件夾包含了將被反復(fù)利用的文件蛔垢,比如footer击孩,header

  • _layouts 文件夾包含了主頁面的排版布局

  • _posts 文件夾將包含所有的日志文件,Markdown格式

  • Jekyll為我們提供了一篇默認(rèn)博客鹏漆,我們可以通過運(yùn)行下面的命令巩梢,然后再本地查看

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

注意:此時(shí)Jason_Blog文件夾中會(huì)增加_site文件夾创泄,包含了生成網(wǎng)站的所有結(jié)構(gòu)。同時(shí)括蝠,原來文件夾中開頭沒有下劃線的文件夾會(huì)被復(fù)制到_site文件夾中鞠抑,比如CSS文件夾

  • 停止本地運(yùn)行,敲擊CTR+C
第三步 更改配置文件_config.yml

詳細(xì)內(nèi)容參考官網(wǎng) - Jekyll configuration
想了解更多YAML文件 - YAML

  • 打開_config.yml文件忌警,可以看到一些基礎(chǔ)設(shè)置

  • 更改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實(shí)際使用的是模板語言Liquid來操作模板和輸出文件的搁拙。Liquid現(xiàn)在是Github上的開源項(xiàng)目,有興趣可以多了解一下法绵,很簡單

  • 在每一個(gè)_post文件夾的post文件中箕速,在---中間的內(nèi)容叫做YAML Front Matter,Liquid可以將這里的數(shù)據(jù)傳送到模板中相應(yīng)的位置朋譬。
---
layout: post                       // 表示選擇post模板
title:  "Welcome to Jekyll!"       // 博客的標(biāo)題
date:   2015-06-23 01:54:33        // 博客日期
author: Jason                      // 作者
categories: jekyll update          // 添加類別盐茎,空格分開
permalink: "Welcome to Jekyll"     // 確定顯示的URL
---

注:反復(fù)使用的變量,比如layout, author等可以移到_config.yml

  • 從下面這張圖我們可以看到徙赢,Jekyll中模板相關(guān)的文件在紅框中字柠,我們具體以default.html簡述一下
default.html
  • 首先是Liquid的兩種格式
// 格式一   output markup
{% include head.html %}
// 格式二   tag markup
{{ content }}
  • 第一個(gè)的意思就是把head.html文件添加到相應(yīng)位置,同理header.htmlfooter.html狡赐。

  • 第二個(gè)的意思就是具體某個(gè)post的內(nèi)容會(huì)添加到相應(yīng)位置募谎,當(dāng)然在相應(yīng)的post中我們要指定layout是什么,比如下面就是指定layout為default阴汇。這個(gè)post的內(nèi)容會(huì)添加到{{ content }}的位置数冬。
    其實(shí)上述內(nèi)容與ASP.NET 中的Razor布局很像 - ASP.NET Razor 簡介

  • 下面這張圖我們可以看到我們指定了這個(gè)post使用default,同時(shí)注意到{{ page.title }}搀庶,title數(shù)據(jù)就來自于上面第一點(diǎn)說的YAML Front Matter

    post.html

  • 說完了post拐纱,我們?cè)僬f說怎么增加新頁面,比如About, Contact......
    新頁面直接添加在項(xiàng)目根目錄下哥倔,前面沒有下劃線秸架,比如新建contact.md

// 下面是about.md 中的 YAML Front Matter
---
layout: page                       // 表示選擇post模板
title: About                       // 標(biāo)題為About
permalink: /about/                 //about后面添加一個(gè) "/" 可是_site中生成同名文件夾
---
  • 在項(xiàng)目根目錄下可以創(chuàng)建文件夾_drafts,然后再其中添加草稿咆蒿,預(yù)覽可輸入
boyuan: ~/Desktop/Jason_Blog $ jekyll serve --drafts

4. 主題

有了上面的了解东抹,網(wǎng)絡(luò)上有一大波主題在等著你,直接下個(gè)主題沃测,輕松簡單缭黔。

最后,發(fā)布到Github吧蒂破, Free Free Free
請(qǐng)戳 => 如何使用Github Pages免費(fèi)搭建網(wǎng)站

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末馏谨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子附迷,更是在濱河造成了極大的恐慌惧互,老刑警劉巖哎媚,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喊儡,居然都是意外死亡拨与,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門艾猜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來截珍,“玉大人,你說我怎么就攤上這事箩朴「诤恚” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵炸庞,是天一觀的道長钱床。 經(jīng)常有香客問我,道長埠居,這世上最難降的妖魔是什么查牌? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮滥壕,結(jié)果婚禮上纸颜,老公的妹妹穿的比我還像新娘。我一直安慰自己绎橘,他們只是感情好胁孙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著称鳞,像睡著了一般涮较。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冈止,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天狂票,我揣著相機(jī)與錄音,去河邊找鬼熙暴。 笑死闺属,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的周霉。 我是一名探鬼主播掂器,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼诗眨!你這毒婦竟也來了唉匾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤匠楚,失蹤者是張志新(化名)和其女友劉穎巍膘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芋簿,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡峡懈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了与斤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肪康。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖撩穿,靈堂內(nèi)的尸體忽然破棺而出磷支,到底是詐尸還是另有隱情,我是刑警寧澤食寡,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布雾狈,位于F島的核電站,受9級(jí)特大地震影響抵皱,放射性物質(zhì)發(fā)生泄漏善榛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一呻畸、第九天 我趴在偏房一處隱蔽的房頂上張望移盆。 院中可真熱鬧,春花似錦伤为、人聲如沸咒循。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剑鞍。三九已至,卻和暖如春爽醋,著一層夾襖步出監(jiān)牢的瞬間蚁署,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工蚂四, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留光戈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓遂赠,卻偏偏與公主長得像久妆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跷睦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容