Hexo 3.x 有一些新功能,目前我還不知道有啥用,只不過現在用的 2.8.x 在 OS X 執行 codegen 時效能很差,所以想換個版本試看看是否有改善。
更新版本的方式主要是參考 Migrating from 2.x to 3.0
Migration Hexo 2.8.3 to 3.1.1
現在的版本資訊 hexo 2.8.3
:
1 2 3 4 5 6 7 8 9 10 11
| 13:51:33 ~ hexo version hexo: 2.8.3 os: Darwin 15.2.0 darwin x64 http_parser: 2.3 node: 0.12.1 v8: 3.28.73 uv: 1.0.2 zlib: 1.2.8 modules: 14 openssl: 1.0.1m
|
先備份 package.json
, 然後新增 package.json
內容如下:
1 2 3 4 5
| { "hexo": { "version": "" } }
|
更新步驟:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| # 切換到 hexo blog 路徑 cd completet
# 清除 hexo cache hexo clean
# 安裝 hexo-cli npm install hexo-cli -g
# 安裝 hexo npm install hexo --save
# 安裝相關 generater npm install hexo-generator-index --save npm install hexo-generator-archive --save npm install hexo-generator-category --save npm install hexo-generator-tag --save
# 安裝 server,可以在 local 測試,不像 2.8, 3.0 server 要個別安裝 npm install hexo-server --save
# 安裝部署工具, 我是部署到 github npm install hexo-deployer-git --save # npm install hexo-deployer-heroku --save # npm install hexo-deployer-rsync --save # npm install hexo-deployer-openshift --save
# 更新其他 plugins npm install hexo-renderer-marked@0.2 --save npm install hexo-renderer-stylus@0.2 --save npm install hexo-generator-feed@1 --save npm install hexo-generator-sitemap@1 --save
|
更新後版本:
1 2 3 4 5 6 7 8 9 10
| 10:21:54 Blog ⑂ 1.0.0@hexo_3.1.x + hexo version hexo: 3.1.1 os: Darwin 15.2.0 darwin x64 http_parser: 2.3 node: 0.12.1 v8: 3.28.73 uv: 1.0.2 zlib: 1.2.8 modules: 14 openssl: 1.0.1m
|
調整 deploy 設定
type 從 github 改成 git.
1 2 3 4 5
| deploy: # type: github type: git repository: git@github.com:rickhw/rickhw.github.io.git
|
Hexo Plugins
Hexo 3.0 開始,用了 Slimmer Core Module 架構,所以把系統模組化了,官方網站提供了很多 Plugins 可以使用,也可以讓其他人來寫自己的 plugin,形成一種生態圈 (Ecosystem).
用 ejs 做 template engine
1
| npm install hexo-renderer-ejs --save
|
markdown render engine
更換 markdown render engine: hexo-renderer-markdown-it
1 2
| npm un hexo-renderer-marked --save npm i hexo-renderer-markdown-it --save
|
但是 <!-- more -->
會失效,所以後來又恢復了。
Migrate 之後的問題
- Code 的 line number 有問題,大概要修一下 theme
- Category / Tag 大亂,出現一堆空內容的,可能要修 theme css 才行
最後覺得 3.1 還沒有發現特別好的地方,先 rollback 回去 2.8 了。
延伸閱讀 (站內)