Hexo 是一個網誌框架,可以幫你把 Markdown 轉成靜態網頁,還可以直接發佈到 Heroku 或 GitHub Pages,用起來和 Octopress 差不多,不過改用 Node.js 來做檔案產生速度比 Octopress 快多了。
開發者是台灣人(開發者家),而且官方文件都有正體中文的,大推!
安裝
Hexo 需要 Node.js 和 Git,詳細的安裝說明官方文件寫的很詳盡,只要照著做應該就沒問題了,依照文件說的把 Git, Nodejs 裝好,再用Terminal下指令,就可以安裝了。
$ npm install -g hexo-cli
|
Mac 使用者要注意,要先安裝 Xcode 不然安裝過程中會出問題。這邊官方文件說要開啟 XCode 前往 Preferences -> Download -> Command Line Tools -> Install
安裝命令列工具,可是我發現我的 Download 那裡沒有 Command Line Tools 可以安裝,在 Locations 裡面已經有 Command Line Tools 了,應該是 XCode 版本不同(我是 version 6.2)或是因為我先裝了 iTerm2 的關係吧,這我不太確定,等下禮拜拿到新電腦再來試試看。
建立Hexo專案資料夾
$ hexo init <folder> $ cd <folder> $ npm install
|
這時候資料夾的結構會變這樣:
. ├── _config.yml ├── package.json ├── public ├── scaffolds ├── scripts ├── source | ├── _drafts | └── _posts └── themes
|
介紹一下檔案和資料夾:
_config.yml
Hexo 相關的設定都在這邊修改。
source/_posts
文章都放在這邊,如果要放圖片的話也是放在 source
裡面。
source/_drafts
放草稿的地方,這邊的文章不會被發佈出去。
theme
網誌的主題,放進來以後還要去修改 _config.yml
才會有作用。
scaffolds
鷹架資料夾,文章的樣板。
scripts
資料夾裡面的 javascript 會被自動執行,不過我是新手還沒用到過:D
package.json
記錄你幫 Hexo 裝了什麼東西,用 npm 安裝東西會自動加進去,不用手動編輯。
public
資料夾放 hexo generate 產生出來的網頁檔案。
要注意的是 Hexo 雖然有用 Git 做的版本控管,不過其實只是在 public 資料夾中而已,也就是只有你生成出的靜態網站檔案是有版本控管的,可以自己考慮一下要把 Hexo 專案整個資料夾放在哪裡,以免哪天電腦掛掉只剩下靜態網頁而失去辛苦寫的Markdown檔案,聽說有人把 Hexo 專案創在 Dropbox 裡面走到哪用到哪啦,反正已經在用 Git 了,所以我是把他放到另一個 Git Repository 去。
配置
新開的Hexo專案主要要改的就 site
和 URL
還有 deploy
,deploy
部分下一篇會介紹如果要發佈到 GitHub Page 要怎麼設定,其他配置可以參考官方文件-配置。
Hexo常用指令
詳細的指令可以去看看官方文件-指令,這邊只列出我常用的幾個指令。
新文章
$ hexo new [layout] <title>
|
layout 如果沒設定會直接用_config.yml
中的 default_layout
預設是 post,title 如果有空白的話,要用引號刮起來,新文章會被放到 source/_posts
資料夾中,檔名為 title.md
再看要用什麼編輯器去編輯。
產生網頁
會把文章產生成靜態網頁檔案放在 public
資料夾中,如果後面加上-d
則會在檔案產生完畢後直接部屬出去。
部屬網頁
部屬網站,我是部屬到 GitHub Pages,相關的設定請看下一篇,如果在後面加上-g
則會在部屬前先產生靜態網站。
啟動伺服器
$ hexo server [-i IP] [-p Port]
|
啟動伺服器,就可以在 http://localhost:4000
預覽 public 中的網站,需要自訂 IP 或 Port 的話可以加上-i
或-p
參數。
要使用這個指令需要先安 hexo-server 才能使用。
$ npm install hexo-server --save
|
清除產生檔案
清除快取檔案 db.json
和已產生的靜態網站 public
資料夾。
常用指令縮寫
$ hexo generate
= $ hexo g
$ hexo deploy
= $ hexo d
$ hexo server
= $ hexo s