折騰了將近 2 週將「我是山姆鍋」這個部落格改用 Hexo ⎘ 來編輯,雖然還是有不少文章格式有問題,大致上該有的都有了。
折騰了將近 2 週將「我是山姆鍋」這個部落格改用 Hexo ⎘ 來編輯,雖然還是有不少文章格式有問題,大致上該有的都有了。
為什麼要換成 Hexo?
最近好不容易動了更新部落格的想法,但對於原先使用的 Pelican 已經變得不太熟悉,在重新學習 Pelican 與新的工具之間,山姆鍋自然是喜新厭舊地選擇另一套工具啦! (不過可不希望以後再來一次,中間曾一度想放棄)。
轉換文章格式
Hexo 本身已經大致可以符合山姆鍋撰寫部落格的需要,再加上有相當豐富的插件做靠山,其它的需求自然沒什麼問題。山姆鍋的文章多數是以 reStructuredText ⎘ 格式撰寫,使用 Pandoc 這個工具轉換成 Markdown 格式後,文字的排列上都出現問題,整個轉換過程大部分的時間其實都是在調整亂掉的文章。
站內文章搜索功能
再來是原先使用 Tipue 的站內文章搜尋的功能,Hexo 上已經有人提供方案。基本上就是使用 hexo-generator-tipue-search-json
這個插件產生 Tipue 所需的搜尋索引檔案,設定好 搜尋頁面 就可以了。中間遇到 JQuery 跟 Tipue 版本相容性的問題,不過 Google 一下也不難找到解決辦法。
更換 markdown-it 作為渲染(render)引擎
由於常需要使用頁尾標記(footnotes),將 Hexo 內建的 Markdown 渲染引擎改為 markdown-it ⎘。 除了 markdown-it 本身,下列是額外安裝的插件:
- markdown-it-abbr
- markdown-it-checkbox
- markdown-it-container
- markdown-it-deflist
- markdown-it-footnote
- markdown-it-imsize
- markdown-it-ins
- markdown-it-mark
- markdown-it-regexp
- markdown-it-sub
- markdown-it-sup
更換主題樣板
山姆鍋覺得原先的樣板沒有什麼不好,只是懶得自己轉換。選擇了 Tranquilpeak ⎘ 這個主題也只是因為最接近自己的偏好。
英文跟中文中間留白
山姆鍋習慣中文與英文字中間有間隔,但有懶得自己手動加入空白字元,再加上也常常忘記,最好還是在產生網頁時能夠自動調整。不知道為何 Hexo 的 auto_spacing
設定沒有作用,或者很有可能是山姆鍋沒有正確設定。不管怎樣,後來是使用 Pangu 這個程式庫寫一個過濾器(filter) 解決。 下面是該過濾器的程式碼:
var pangu = require('pangu')
hexo.extend.filter.register('after_post_render', function(data) {
data.title = pangu.spacing(data.title)
data.content = pangu.spacing(data.content)
})
小結
如果說轉換過程中,山姆鍋有學到什麼的話,那就是:沒事別換工具處理已經解決的問題,那只是在做苦工啊!