簡(jiǎn)介
hexo-renderer-markdown-it
是一款用于 Markdown 解析和渲染的插件悬垃。
- 用于替換 Hexo 默認(rèn)自帶的 Markdown 渲染器。
- 提供了更豐富的 Markdown 解析和渲染甘苍。
安裝
注意:請(qǐng)確保你在 Hexo 主目錄下進(jìn)行以下操作尝蠕。
- 卸載 Hexo 默認(rèn)自帶的 Markdown 渲染器
npm un hexo-renderer-marked --save
- 安裝
hexo-renderer-markdown-it
插件
npm i hexo-renderer-markdown-it --save
配置
方便的是,hexo-renderer-markdown-it
的所有配置羊赵,均在 Hexo 的主要配置文件 _config.yml
中進(jìn)行配置趟佃。
配置的方式,主要分為:
- 簡(jiǎn)單配置(支持三種配置級(jí)別昧捷,開箱即用)
- 高級(jí)配置(更詳細(xì)的定制闲昭,渲染器、插件靡挥、錨)
簡(jiǎn)單配置
hexo-renderer-markdown-it
提供三種簡(jiǎn)單配置方式(配置級(jí)別)zero
序矩、default
、commonmark
跋破。
在 Hexo 的 _config.yml
文件中配置以下內(nèi)容:
# Markdown-it config
#markdown: 'zero'
#markdown: 'default'
markdown: 'commonmark'
每種簡(jiǎn)單配置有其默認(rèn)的一些設(shè)置簸淀。更多個(gè)性化配置,請(qǐng)參考:高級(jí)配置毒返。
- zero:禁用大多數(shù)解析器功能租幕。僅支持斜體和粗體,甚至不支持所有原始Markdown功能拧簸。
- default(GFM):解析器的行為類似于github規(guī)范劲绪。
- commonmark:提供比Zero預(yù)設(shè)更多的功能。 此設(shè)置將強(qiáng)制插件使用最新的CommonMark規(guī)范。
警告:選擇一種簡(jiǎn)單配置贾富,將阻止您使用任何附帶的插件歉眷。
高級(jí)配置
hexo-renderer-markdown-it
提供的高級(jí)配置,是對(duì)簡(jiǎn)單配置的詳細(xì)定制颤枪。
在 Hexo 的 _config.yml
文件中配置以下內(nèi)容(官方提供的完整配置汗捡,沒有特殊需要不用再次修改):
# Markdown-it config
markdown:
render:
html: true
xhtmlOut: false
breaks: true
linkify: true
typographer: true
quotes: '“”‘’'
plugins:
- markdown-it-abbr
- markdown-it-footnote
- markdown-it-ins
- markdown-it-sub
- markdown-it-sup
anchors:
level: 2
collisionSuffix: 'v'
permalink: true
permalinkClass: header-anchor
permalinkSymbol: ?
高級(jí)配置詳解
渲染器(render)
# Markdown-it config
markdown:
render:
html: true
xhtmlOut: false
breaks: true
linkify: true
typographer: true
quotes: '“”‘’'
- html:定義文檔中的HTML內(nèi)容是否應(yīng)轉(zhuǎn)義或傳遞給最終結(jié)果。
html: true # 不轉(zhuǎn)義 HTML 內(nèi)容
html: false # 轉(zhuǎn)義 HTML 內(nèi)容畏纲,使標(biāo)簽作為文本輸出
- xhtmlOut:定義解析器是否將導(dǎo)出完全兼容XHTML的標(biāo)記扇住。
xhtmlOut: true # 必須使用完全的 XHTML 代碼,換行必須為 <br/>
xhtmlOut: false # 不必必使用完全的 XHTML 代碼霍骄,換行可以為 <br>
- breaks:使源文件中的換行符被解析為<br>標(biāo)記台囱。每次按Enter鍵都會(huì)創(chuàng)建換行符。
breaks: true # 每次會(huì)車換行相當(dāng)于一個(gè) <br/> 標(biāo)簽
breaks: false # Pa每次會(huì)車換行會(huì)被忽略
- linkify:解析器能夠?qū)⒅苯诱迟N到文本中的鏈接內(nèi)聯(lián)读整。
linkify: true # 類似鏈接的文本簿训,作為鏈接輸出
linkify: false # 類似鏈接的文本,依然作為文本輸出
- typographer:可以替換常見的排版元素米间。
typographer: true # 替換常見的排版元素
typographer: false # 不替換常見的排版元素
- quotes:?jiǎn)我?hào)强品、雙引號(hào)如何被替換
quotes: '“”‘’' # 'single'、"double" 變成 ‘single’屈糊、“double”
quotes: '??“”' # 'single'的榛、"double" 變成 “single”、?single?
插件(plugins)
hexo-renderer-markdown-it
默認(rèn)集成5個(gè) markdown-it
插件
# Markdown-it config
markdown:
plugins:
- markdown-it-abbr
- markdown-it-footnote
- markdown-it-ins
- markdown-it-sub
- markdown-it-sup
- markdown-it-abbr:縮寫插件
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
The HTML specification
is maintained by the W3C.
- markdown-it-footnote:腳注插件
basic footnote[^1]
here is an inline footnote[^2](inline footnote)
and another one[^3]
and another one[^4]
[^1]: basic footnote content
[^3]: paragraph
footnote
content
[^4]: footnote content with some [markdown](https://en.wikipedia.org/wiki/Markdown)
- markdown-it-ins:插入插件(下劃線插件)
++inserted++ => <ins>inserted</ins>
- markdown-it-sub:下標(biāo)插件
H~2~0 => H<sub>2</sub>O
- markdown-it-sup:上標(biāo)插件
29^th^ => 29<sup>th</sup>
錨(anchors)
可能自己不會(huì)用逻锐,因此夫晌,沒太關(guān)注這個(gè)功能
# Markdown-it config
markdown:
anchors:
level: 2
collisionSuffix: 'v'
permalink: true
permalinkClass: header-anchor
permalinkSymbol: ?
- level:生成 Heading ID 的標(biāo)題等級(jí)
- collisionSuffix:Heading ID 重復(fù)時(shí),數(shù)字的后綴
- permalink:'true'昧诱,則創(chuàng)建一個(gè)錨標(biāo)記晓淀,除標(biāo)題外還有一個(gè)固定鏈接
- permalinkClass:用于固定鏈接錨標(biāo)記的樣式
- permalinkSymbol:用于固定鏈接標(biāo)記的符號(hào)
參考:
markdown-it 插件 GitHub主頁(yè)
hexo-renderer-markdown-it GitHub Wiki