这个渲染插件使用 Markdown-it 作为 Hexo 的渲染引擎. 添加对 Markdown 和 CommonMark 的支持。
主要特色
- 支持 Markdown, GFM 和 CommonMark
- 广泛的配置
- 比默认
hexo-renderer-marked
渲染器更快 - Safe ID for headings
- Anchors for headings with ID
- 脚注
<sub>
H2O<sup>
x2<ins>
Inserted
安装
警告: 在开始下面的教程前,确保你在hexo博客主目录下。
Hexo默认使用marked
渲染器插件作为markdown渲染器,所以安装hexo-renderer-markdown-it
之前必须先卸载它。
1 | $ npm un hexo-renderer-marked --save |
如果你已经卸载默认的markdown渲染器和其他你自己可能安装的markdown渲染器,就可以安全安装hexo-renderer-markdiwn-it
了。
1 | $ npm i hexo-renderer-markdown-it --save |
选项
1 | markdown: |
简单的配置
配置渲染器是一项相当简单的任务,因为所有设置都在hexo的_config.yml主文件中。您只需要在您喜欢的文本编辑器中将其打开并写下您的配置即可。
最简单的方法是使用markdown-it
已经提供的默认值。但是首先,您必须选择要使用的设置。
预设
Zero
Zero
设置将禁用大多数解析器功能。仅在仅需要支持斜体和粗体显示时,才应使用此模式。渲染器甚至不支持所有原始的Markdown功能。
要启用Zero
模式,您的_config.yml必须如下所示:
1 | # Markdown-it config |
Default(GFM)
使用default
选项将使解析器的行为类似于github规范。
要启用此模式,您的_config.yml
应该如下所示:
1 | # Markdown-it config |
CommonMark
CommonMark
为您提供了比“Zero”预设更多一点功能。此设置将强制插件使用最新的CommonMark规范。过去,我将其称为CommonMark严格模式,因为这是启用此预设时插件将执行的操作。它将为您提供CommonMark,仅此而已。
要启用此模式,您的_config.yml
应该如下所示:
1 | # Markdown-it config |
警告: 选择任何这些预设将阻止您使用任何随附的插件。
进阶配置
使用hexo-renderer-markdown-it
,您可以将非常特定的配置传递给Markdown-it解析器。
可用设置(解释)
html
html
设置定义文档中的HTML内容是否应转义或传递到最终结果。
1 | html: true # 不要转义HTML内容 |
xhtmlOut
xhtmlOut
设置定义解析器是否将导出与XHTML完全兼容的标记。仅对完整的 CommonMark 支持才需要为true
。
1 | xhtmlOut: true # Parser produces fully XHTML compliant code. |
breaks
使源文件中的换行符将被解析为<br>
标记。因此,每次按Enter
键都会创建一个换行符,这不是默认的Markdown,CommonMark或GFM行为。
1 | breaks: true # 每次源文件有换行,解析器都会产生 `<br>` 标签 |
linkify
解析器可以内联直接粘贴到文本中的链接。如果您写的一段文本看起来像一个链接,它将被渲染为<a src="http://example.com">http://example.com</a>
。
1 | linkify: true # Returns text links as proper links inlined with the paragraph. |
typographer
这样可以替代常见的排版元素,例如©,弯引号,破折号等。
1 | typographer: true # Substitution of common typographical elements will take place. |
quotes
如果将typographer设置为true
,则定义用于替换dumb quotes的双引号和单引号。
1 | quotes: '“”‘’' # "double" will be turned into “single” |
配置示例
1 | # Markdown-it config |
自动标题ID
使您能够自动为标题创建ID,以便您可以链接回它们。由于有效的html文档不能包含两个具有相同ID的元素,因此将对照已给定的其他ID来检查添加的每个标题ID。
如果已经提供了title
ID,则会将后续ID更改为title-v2
,title-v3
等。
v
是默认的collisionSuffix,您可以更改。
像这样在全局_config.yml
中启用它们:
1 | markdown: |
插件
可用插件
- markdown-it-abbr
- markdown-it-footnote
- markdown-it-ins
- markdown-it-sub
- markdown-it-sup
这些可以在全局_config.yml
中启用,如下所示:
1 | markdown: |
所有选项配置
1 | # Markdown-it config |
测试
H2O