在前端學(xué)習(xí)初期,我搭建了自己的博客網(wǎng)站,期間參考了很多資料,回顧發(fā)現(xiàn),這一路上也是從按部就班到半主動性。按照搜索到的流程按部就班地操作,總不能達(dá)到理想的效果,卡住,卡住,再卡住,分外憂傷。事情可以慢下來,但不能放棄。后來我調(diào)整戰(zhàn)略,嘗試?yán)斫釰ekyll的運作原理,事情慢慢變得清晰,有條不紊。這篇文章不會涉及到詳細(xì)的建站過程,而是從另一個角度,簡述Jekyll到底是如何發(fā)揮“魔力”的。
如果你希望了解建站全過程,可以大力的戳這里~????我的建站全過程????
另外,所使用的系統(tǒng)為win10。
1. 工作場所:Ruby平臺
Jekyll是運行在Ruby平臺上的程序,所以,最開始要搭建Jekyll的工作環(huán)境,然后再安裝Jekyll工具,全部安裝成功后,你就可以使用Jekyll這個強有力的工具了。
具體步驟:
- 安裝 Ruby & Ruby Development Kit (下載網(wǎng)址:Ruby官網(wǎng) )
- 切換到Devkit的安裝目錄下,執(zhí)行
ruby dk.rb init
,會自動生成config.yml
配置文件ruby dk.rb install
gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.org/
gem install jekyll
gem install bundler
注意:
- 安裝Jekyll時出現(xiàn)SSL證書問題,一般有兩個解決方法:一是更換gems鏡像源避免SSL問題;二是安裝OpenSSL保證安全下載。我采用了前者,因為簡單。
2. 遵守Jekyll的規(guī)矩
按規(guī)矩好辦事。想要使用Jekyll,就必須遵守Jekyll的規(guī)矩,你只有按照J(rèn)ekyll世界的語言、規(guī)范,它才能乖乖為你所用。都有哪些規(guī)矩:
- 網(wǎng)站項目的文件結(jié)構(gòu)(結(jié)構(gòu))
- HTML模板語言要求(模板和數(shù)據(jù)注入)
當(dāng)然,具體的規(guī)矩全部都在官方文檔中。
3. 中場反思
當(dāng)你按照上述規(guī)矩,把網(wǎng)站需要的全部數(shù)據(jù)都整理好后,就欠東風(fēng)了。那么要怎樣運行Jekyll,讓它把我們準(zhǔn)備的這些原材料,加工成真實網(wǎng)站呢?
4. 配置你的Jekyll工具
使用它,那就先配置它。所以,你需要編寫一個Gemfile文件。在這個文件中,需要列舉你的網(wǎng)站項目中所有將要使用到的工具,比如jekyll,jekyll plugins等等,當(dāng)然你還要提供下載這些工具的地址,例如http://rubygems.org
。
5. 使用Jekyll工具
到這里,所有的配置都搞定了。接下來就開始使用Jekyll工具,施展魔法,把我們的原始材料(符合Jekyll文檔規(guī)范)加工成真實網(wǎng)站。運行以下步驟:
- bundle install
- bundle exec Jekyll serve
解釋:bundle install
之后,便把我們列舉在配置文件中的工具全部安裝起來;運行bundle exec jekyll serve
,Jekyll開始實時工作,即通過它提供的本地服務(wù)器進(jìn)行本地預(yù)覽(無需聯(lián)網(wǎng)),你對文件所做的修改,都會直接反映出來,localhost:4000
刷新后,便能看到修改后的效果。
還要繼續(xù)解釋一下jekyll serve
:前臺所做的各種修改,都會被后臺運行的Jekyll實時地加工、“翻譯”成真實網(wǎng)站,而且,你能夠通過localhost:4000
本地預(yù)覽網(wǎng)站。此外,你可以和jekyll build
做對比:jekyll build
只是將原始材料“翻譯”成真實網(wǎng)站(_site
文件夾出現(xiàn)),實現(xiàn)jekyll serve
的部分功能,但是不會像Jekyll serve
那樣,可以本地預(yù)覽,實時加工。
總結(jié)
當(dāng)然,上述步驟2-5可以通過運行jekyll new your-website-name
命令,自動生成網(wǎng)站目錄結(jié)構(gòu)、Gemfile預(yù)定義配置以及相關(guān)工具的安裝,這也是網(wǎng)上大部分的流程步驟。不過,有關(guān)網(wǎng)站的具體內(nèi)容還是要自己探索,雖然生成的網(wǎng)站也是有預(yù)定義的內(nèi)容(也就是Jekyll Theme),但太過簡單,你肯定不會特別滿意。這里插一句話,Jekyll Theme其實就是一個完整的Website了。你如果從GitHub上fork了一個你相中的主題,只需要修改一下網(wǎng)站的名稱等原作者相關(guān)信息后,就可以變成你的網(wǎng)站了。
結(jié)尾反思
在參考的資料中有兩篇印象特別深刻(墻裂推薦大家看一看!!),一篇是在github上利用github提供的接口原生態(tài)的實踐jekyll的全部步驟。這篇很基礎(chǔ),給我提供了別樣的思路,讓我能夠深入地思考jekyll的運作原理。另外一篇是傳授我們?nèi)绾卫肎itHub上的Jekyll Theme快速搭建自己的博客網(wǎng)站,讓我更進(jìn)一步理解Jekyll文件的編寫、HTML模板語法的使用等,讓我漸漸不再對Jekyll感到束手無策、毫無頭緒,不會再有那種它就是我眼前,卻遠(yuǎn)在天邊的感覺。
這個項目是去年11月份開啟的,到現(xiàn)在已經(jīng)有半年時間了。期間也做過幾次更新升級,博文也不定期更新(會慢慢遷移到簡書上)。搗鼓網(wǎng)站的過程,包括每次的更新升級也都詳細(xì)記錄在有道筆記上備忘。希望能和大家交流思想,共同進(jìn)步。