我想每個 Octopress 的使用者一定都有這樣的煩惱──隨著文章數量愈來愈多,檔案建立的速度愈來愈慢。本站目前已累積至 54 篇文章,每次建立檔案時,至少都需要花費一分鐘以上的時間。
或許是因為 Ruby 天生就比較慢,而這種問題未來似乎也不會改善,Jekyll 和 Octopress 已經一段時間沒有更新,那麼唯一的解決方案只有另覓其他 Blog Framework 了。
由於最近都在玩 Node.js,便決定從它開始下手,我試著在網路上找了一下,然而現有的 Blog Framework 看來都過於簡單;只有一個除外:DocPad。
DocPad 擴充性十足,而且一直有在更新,但是 DocPad 又令人感覺過於複雜,難以上手。
參考資料:Node based static site generators - Boris Mann
那麼唯一的方式,大概只剩自造輪子了。
Prototype 的速度相當不錯,在 2 秒內即可將全站的資料都建立完成。之後的一個月,便以此為基礎擴充、加強,最後的成品即是──Hexo!
你或許會好奇這篇文章的開頭為何要放一張與內容毫不相關的圖片,雖然放不相關圖片是傳統,不過這次的開頭圖片可是有關聯性的!
我想 Octopress 的名稱來源也許是 Octal(八進制) + Press,因此我便以十六進制(hexadecimal,縮寫為 hex)來取名。
而為啥會扯上這張圖片呢?因為 Hexo 的發音很類似於へそ(肚臍)。
前面扯了那麼多廢話,該來談談 Hexo 的細節了。
Hexo 和 Jekyll、Octopress 有許多相似點,大部分的使用都和其無異。
前提是必須先安裝 Node.js,至於怎麼安裝自己 Google 吧
1 | npm install hexo -g |
僅需一步就把 Hexo 本體和所有相依套件安裝完畢,很簡單吧?
1 | hexo init |
如果指定
,便會在目前的資料夾建立一個名為
的新資料夾;否則會在目前資料夾初始化。
設定請參閱 Wiki,我還不太會寫文件,如果看不懂的話請不要鞭太大力。
0.1.0 版後,佈署方式有所調整,請參見 https://github.com/tommy351/hexo/wiki/Deploy。
1 | hexo new_post |
Hexo 已經內建一些外掛了,你可以用這些外掛快速插入元素:
外掛的詳細使用方式之後會在 Wiki 補完。
1 | hexo generate |
依照環境不同,速度可能會有差別,在我的電腦上需要大約 4 秒鐘。
1 | hexo server |
伺服器會跑在 http://localhost:port
(port
預設為 4000
,可在 _config.yml
設定),也可以搭配 Pow 使用:
1 | cd ~/.pow |
基本使用差不多就是這樣子,非常簡單。至於外掛和主題的撰寫方法,我之後會在 Wiki 補完,你也可以嘗試看看原始碼。
Octopress 還是很棒,只是速度不夠快,我未來將會轉換到 Hexo,以下是未來的開發目標:
如果你有興趣的話,歡迎試用看看,有任何問題的話歡迎留言。