今天在遷移博客項目的時候,發現原來在 hugo 中能夠使用的 Emoji 和 tasks 功能都不能正常使用了,查詢了一下緣由,主要是由於 hexo 默認的解析器是 hexo-renderer-marked
,這個默認的渲染器是不支持 emoji 功能的,可是支持 tasks,可是這個渲染器是不支持擴展的,因此若是但願同時使用這兩個功能的話,就須要換一個渲染器。html
這裏推薦的是 hexo-renderer-markdown-it
渲染器,支持擴展,採用的是 markdown-it
的內核來解析 markdown 的文本。git
npm un hexo-renderer-marked -S npm i hexo-renderer-markdown-it -S
這樣就替換完成了,而後再安裝須要的插件:github
npm i markdown-it-emoji markdown-it-task-lists -S
shell
而後再增長相關配置:npm
markdown: render: html: true # 在 markdown 文本中支持 html tag 標籤 xhtmlOut: false # 須要 xtml 文檔,使用 <br /> 替代 <br> breaks: true # 用 <br> 開始新的一行 linkify: true # 自動將 多是連接的內容轉換成連接 typographer: true # 印刷標識轉換 plugins: - markdown-it-abbr - markdown-it-footnote - markdown-it-ins - markdown-it-sub - markdown-it-sup - markdown-it-emoji - markdown-it-task-lists anchors: level: 2 collisionSuffix: '' permalink: false, permalinkClass: 'header-anchor' permalinkSymbol: '' case: 0 separator: ''
typographer 解釋:segmentfault
將 (c) (C) (r) (R) (tm) (TM) (p) (P) +-
這些標識轉換成 (c) (C) (r) (R) (tm) (TM) (p) (P) +- 。markdown
一些經常使用的插件,好比上標和下標,能夠在插件里加上 markdown-it-sub
和 markdown-it-sup
,能夠直接用 19^th^
19^th^ 還有 H~2~O
表示 H~2~O 。hexo
還有腳本、定義列表等功能,具體的見 https://markdown-it.github.io/ 。spa
由於 markdown-it 是支持擴展的,因此怎麼找對應的擴展,也是很是重要的功能,好比 tasks 的支持,能夠到 https://www.npmjs.com/ 裏進行搜索,關鍵字是 keywords:markdown-it-plugin
或者直接打開連接 https://www.npmjs.com/search?q=keywords:markdown-it-plugin 。插件
就能夠按照對應的功能去找尋找插件了。
文章首發於:https://www.zucchiniy.cn