喜歡寫B(tài)log的人,會經(jīng)歷三個(gè)階段。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的小店網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!第一階段,剛接觸Blog,覺得很新鮮,試著選擇一個(gè)免費(fèi)空間來寫。
第二階段,發(fā)現(xiàn)免費(fèi)空間限制太多,就自己購買域名和空間,搭建獨(dú)立博客。
第三階段,覺得獨(dú)立博客的管理太麻煩,最好在保留控制權(quán)的前提下,讓別人來管,自己只負(fù)責(zé)寫文章。
大多數(shù)Blog作者,都停留在第一和第二階段,因?yàn)榈谌A段不太容易到達(dá):你很難找到俯首聽命、愿意為你管理服務(wù)器的人。
但是兩年前,情況出現(xiàn)變化,一些程序員開始在Github網(wǎng)站上搭建blog。他們既擁有絕對管理權(quán),又享受github帶來的便利----不管何時(shí)何地,只要向主機(jī)提交commit,就能發(fā)布新文章。更妙的是,這一切還是免費(fèi)的,github提供無限流量,世界各地都有理想的訪問速度。
今天,我就來示范如何在github上搭建Blog,你可以從中掌握github的Pages功能,以及Jekyll軟件的基本用法。更重要的是,你會體會到一種建立網(wǎng)站的全新思路。
一、Github Pages 是什么?
如果你對編程有所了解,就一定聽說過github。它號稱程序員的Facebook,有著極高的人氣,許多重要的項(xiàng)目都托管在上面。
簡單說,它是一個(gè)具有版本管理功能的代碼倉庫,每個(gè)項(xiàng)目都有一個(gè)主頁,列出項(xiàng)目的源文件。
但是對于一個(gè)新手來說,看到一大堆源碼,只會讓人頭暈?zāi)X漲,不知何處入手。他希望看到的是,一個(gè)簡明易懂的網(wǎng)頁,說明每一步應(yīng)該怎么做。因此,github就設(shè)計(jì)了Pages功能,允許用戶自定義項(xiàng)目首頁,用來替代默認(rèn)的源碼列表。所以,github Pages可以被認(rèn)為是用戶編寫的、托管在github上的靜態(tài)網(wǎng)頁。
github提供模板,允許站內(nèi)生成網(wǎng)頁,但也允許用戶自己編寫網(wǎng)頁,然后上傳。有意思的是,這種上傳并不是單純的上傳,而是會經(jīng)過Jekyll程序的再處理。
二、Jekyll是什么?
Jekyll(發(fā)音/\'d?i?k ?l/,"杰克爾")是一個(gè)靜態(tài)站點(diǎn)生成器,它會根據(jù)網(wǎng)頁源碼生成靜態(tài)文件。它提供了模板、變量、插件等功能,所以實(shí)際上可以用來編寫整個(gè)網(wǎng)站。
整個(gè)思路到這里就很明顯了。你先在本地編寫符合Jekyll規(guī)范的網(wǎng)站源碼,然后上傳到github,由github生成并托管整個(gè)網(wǎng)站。
這種做法的好處是:
* 免費(fèi),無限流量。
* 享受git的版本管理功能,不用擔(dān)心文章遺失。
* 你只要用自己喜歡的編輯器寫文章就可以了,其他事情一概不用操心,都由github處理。
它的缺點(diǎn)是:
* 有一定技術(shù)門檻,你必須要懂一點(diǎn)git和網(wǎng)頁開發(fā)。
* 它生成的是靜態(tài)網(wǎng)頁,添加動態(tài)功能必須使用外部服務(wù),比如評論功能就只能用disqus。
* 它不適合大型網(wǎng)站,因?yàn)闆]有用到數(shù)據(jù)庫,每運(yùn)行一次都必須遍歷全部的文本文件,網(wǎng)站越大,生成時(shí)間越長。
但是,綜合來看,它不失為搭建中小型Blog或項(xiàng)目主頁的選項(xiàng)之一。
三、一個(gè)實(shí)例
下面,我舉一個(gè)實(shí)例,演示如何在github上搭建blog,你可以跟著一步步做。為了便于理解,這個(gè)blog只有最基本的功能。
在搭建之前,你必須已經(jīng)安裝了git,并且有g(shù)ithub賬戶。
第一步,創(chuàng)建項(xiàng)目。
在你的電腦上,建立一個(gè)目錄,作為項(xiàng)目的主目錄。我們假定,它的名稱為jekyll_demo。
$ mkdir jekyll_demo對該目錄進(jìn)行g(shù)it初始化。
$ cd jekyll_demo $ git init然后,創(chuàng)建一個(gè)沒有父節(jié)點(diǎn)的分支gh-pages。因?yàn)間ithub規(guī)定,只有該分支中的頁面,才會生成網(wǎng)頁文件。
$ git checkout --orphan gh-pages以下所有動作,都在該分支下完成。