今天在迁移博客项目的时候,发现原来在 hugo 中可以使用的 Emoji 和 tasks 功能都不能正常使用了,查询了一下原因,主要是因为 hexo 默认的解析器是 hexo-renderer-marked ,这个默认的渲染器是不支持 emoji 功能的,但是支持 tasks,但是这个渲染器是不支持扩展的,所以如果希望同时使用这两个功能的话,就需要换一个渲染器。

这里推荐的是 hexo-renderer-markdown-it 渲染器,支持扩展,采用的是 markdown-it 的内核来解析 markdown 的文本。

  1. npm un hexo-renderer-marked -S
  2. npm i hexo-renderer-markdown-it -S

这样就替换完成了,然后再安装需要的插件:

npm i markdown-it-emoji markdown-it-task-lists -S

然后再增加相关配置:

  1. markdown:
  2. render:
  3. html: true # 在 markdown 文本中支持 html tag 标签
  4. xhtmlOut: false # 需要 xtml 文档,使用 <br /> 替代 <br>
  5. breaks: true # 用 <br> 开始新的一行
  6. linkify: true # 自动将 可能是链接的内容转换成链接
  7. typographer: true # 印刷标识转换
  8. plugins:
  9. - markdown-it-abbr
  10. - markdown-it-footnote
  11. - markdown-it-ins
  12. - markdown-it-sub
  13. - markdown-it-sup
  14. - markdown-it-emoji
  15. - markdown-it-task-lists
  16. anchors:
  17. level: 2
  18. collisionSuffix: ''
  19. permalink: false,
  20. permalinkClass: 'header-anchor'
  21. permalinkSymbol: ''
  22. case: 0
  23. separator: ''

typographer 解释:

(c) (C) (r) (R) (tm) (TM) (p) (P) +- 这些标识转换成 (c) (C) (r) (R) ™ (TM) (p) (P) +- 。

一些常用的插件,比如上标和下标,可以在插件里加上 markdown-it-submarkdown-it-sup ,可以直接用 19^th^ 19^th^ 还有 H~2~O 表示 H~2~O 。

还有脚本、定义列表等功能,具体的见 https://markdown-it.github.io/

因为 markdown-it 是支持扩展的,所以怎么找对应的扩展,也是非常重要的功能,比如 tasks 的支持,可以到 https://www.npmjs.com/ 里进行搜索,关键字是 keywords:markdown-it-plugin 或者直接打开链接 https://www.npmjs.com/search?q=keywords:markdown-it-plugin

就可以按照对应的功能去找寻找插件了。

版权声明:本文为banshiliuli1990原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/banshiliuli1990/p/12181430.html