Parser Error
主要原因是因為 hexo 3.0 引入新的渲染引擎 mozilla/Nunjucks 的問題。
由於有 Nunjucks 的關係,有一些渲染方式要改變寫法。
Plugin Update
很多指令都模組化,所以要個別安裝需要的操作,並且插件一定要透過 npm 安裝,寫入到 blog/package.json 才會被接受。
|
|
由於 mozilla/Nunjucks 的關係,改變最麻煩的是 tag plugin 的名稱,例如 rawblock -> raw
、 math-block -> math
的更動,因此要寫個程式進行轉換。
由於 latex 的緣故,hexo-math 這個 plugin 需要更動,以免 Nunjucks 解析時發生錯誤,強制讓 inline 的寫法有對齊,所以我把 hexo-math 做了客製化修改。
|
|
並且取消自動注入,因為目前的 hexo server 在修改文章時,效能不佳,以下代碼是 hexo-math 在用自動注入的部分呼叫函數,若使用這個函數,速度拖累很多。
|
|
New Feature
分頁支持
|
|
在這幾個地方增加分頁設計,讓一次載入大量資料的需求減少。
Browser
開啟 hexo server 時,若更動文章內容,刷新速度變得非常慢,並且會造成 nodejs 狂吃 CPU 和 memory 同時也重新渲染所有文章。
Setting
在 blog/__config.yml
也做了些調整,簡化不少設定檔,若不特別需要,則不會出現。
|
|
以及在過去版本一直被我遺忘的 highlight 設定,要把 tab 換成四個空白,有時候貼上常常會發生 tab 變成四個空白的解析,現在版本先關閉自動偵測 highlight,官方說那裏解析速度上有問題。
|
|
這裡還是有個問題,highlight.js 不處理以下情況
|
|
最後一個 tab 將不會被轉換,也就是只有行首的 tab 會自動轉換,想必是對齊部分不容易寫。