Octopress 剛架設好後立刻使用 markdown 寫了一篇文章,滿心期待看到轉出來的成果,結果就是一連串格式不合無法轉出的錯誤發生。我現在使用的編輯是 Atom ,預覽呈現出來的排版都很美好,然而一旦要被 Octopress 轉出時,就會出現問題。無奈之下開始上 Github 查詢 issues ,這才發現 Octopress 目前開發進度有點處於停滯的情況,所以乾脆開始尋找另一套解決方案。就是本篇的 Hexo。
將為數不多的文章改用 Hexo 產生後,呈現上果然有比較好些。雖然還需要經過一些微調,但對於純粹使用上來說,是已經足以。以下紀錄我的安裝過程。
安裝
參照 官網的文件 上提供了詳細的步驟,而且動作也比起 Octopress 來說簡單。基本需求只有:
- Node.js
- Git
Git 不用說,對程式開發者而言都是必裝的套件。而 Node.js 在目前使用的 Ubuntu 16.04 環境上沒有安裝,因此直覺得下 apt-get install nodejs
安裝。豈知之後要安裝 Hexo 就開始遇到麻煩。最後是照著官網建議的安裝 Node.js 方式才成功安裝。因此這邊就不誤人子弟,直接使用官網的方式安裝吧。
安裝 Node.js
我這邊使用 wget 方式:
|
|
安裝完成後要重開終端機。接著在下:
|
|
以上指令查一下是安裝版號 4.x ,裝好之號看 Node.js 版號是 v4.4.4 。
安裝 Hexo
安裝 Hexo 指令只須一行。
|
|
之後就可以開始使用囉。
建立
建立網站範本
Hexo 是透過指令來產生網站的範本,相比 Octopress 是先去 git clone 自己的 repo 下來做修改,簡潔不少。使用以下指令來建立範本:
|
|
建完之後會看到設定的資料夾下多了一些目錄和檔案。其中 _config.yml 是用來設定 Hexo 的配置,其他的目錄和檔案就請參考官網說明。
建立新文章
透過 Hexo 提供的指令一樣可以方便的建立出新文章樣本出來。
|
|
其中 [layout] 提供了三種布局。
佈局 | 路徑 |
---|---|
post | source/_posts/ |
page | source/ |
draft | source/_drafts/ |
post 是一般要建立新文章使用的指令。
page 可以在網站中產生新的頁面出來,存放其他種類文章。像是拿來開一個頁面做 “About” 介紹。
draft 可以用來當作草稿使用,佈署的時候會忽略這裡面的內容。需要另外下指令 hexo publish
來發表。此外預覽時可以加參數來呈現。
佈署
產生網頁
內容準備完成後,接下來就下指令來產生網頁。
|
|
以上指令會依據使用者提供的內容和設定,產生想要的網站內容。
佈署到 Github 上
在佈署之前,需要先在 _config.yml 裡設定要採取 git 模式佈署。設定如下:
|
|
repo 欄位上就填寫 Github repo 的 url 。
另外還須額外安裝 hexo-deployer-git。
|
|
接下來就可以透過 Hexo 一行指令完成佈署囉。
|
|
另外如果想再產生網頁時同時佈署上去, Hexo 也有提供指令參數使用,不過我想還是先預覽看過再佈署上去比較明智。
|
|
完成
至此,我的網站就更新完成啦。真的和 Octopress 比起簡單快速不少。
不過 Octopress 的管理模式還是值得學習一下, Hexo 預設只會把產生的網站 commit 到指定的 branch 上,但是本身的內容並沒有提供方式來做版本控制。而這部份 Octopress 就會切出 master 和 source 兩個 branch 出來, master 用來放置管理網站內容,而 source 用來對自身做版本管理。接下來目標是參照這種模式把