抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言

在处理特殊字符转义时导致 Hexo 渲染失败,便决定替换掉 Hexo 默认的hexo-renderer-marked

选择 Hexo 渲染引擎

在 Github 搜索 hexo-renderer ,我选择了 Star 数更多的功能更全的而且也还在持续更新的 hexo-renderer-markdown-it

安装 hexo-renderer-markdown-it

1
2
3
4
5
6
7
8
// 进入 Hexo 项目根目录
cd <dir>

// 卸载默认渲染引擎
npm un hexo-renderer-marked --save

// 安装 hexo-renderer-markdown-it
npm i hexo-renderer-markdown-it --save

安装 hexo-renderer-markdown-it

配置

添加以下内容到根目录下的 _config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
markdown:
preset: 'default'
render:
html: true
xhtmlOut: false
langPrefix: 'language-'
breaks: true
linkify: true
typographer: true
quotes: '“”‘’'
enable_rules:
disable_rules:
plugins:
anchors:
level: 2
collisionSuffix: ''
permalink: false
permalinkClass: 'header-anchor'
permalinkSide: 'left'
permalinkSymbol: '¶'
case: 0
separator: '-'

保存好_config.yml后,清除缓存并重新生成部署即替换完成

1
2
3
4
5
# 清除缓存并重新生成
hexo clean && hexo g

# 部署
hexo d

安装插件

hexo-renderer-markdown-it有大量可安装插件,按需安装即可

1
2
3
4
5
6
7
8
9
10
11
12
npm install --save markdown-it-abbr
npm install --save markdown-it-footnote
npm install --save markdown-it-ins
npm install --save markdown-it-sub
npm install --save markdown-it-sup
npm install --save markdown-it-anchor
npm install --save markdown-it-deflist
npm install --save markdown-it-mark
npm install --save markdown-it-container
npm install --save markdown-it-emoji
npm install --save markdown-it-task-lists
npm install --save markdown-it-attrs

修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
plugins:
- markdown-it-abbr
- markdown-it-footnote
- markdown-it-ins
- markdown-it-sub
- markdown-it-sup
- markdown-it-anchor
- markdown-it-deflist
- markdown-it-mark
- markdown-it-container
- markdown-it-emoji
- markdown-it-task-lists
- markdown-it-attrs

注意

由于markdown-it-attrs插件的语法规则是{.class #identifier attr=value attr2="spaced value"},会解析{},若不希望解析{}可修改该插件的配置文件,或直接禁用该插件。

1
2
3
4
5
6
7
8
9
// <dir> 为 Hexo 项目根目录
// <dir>/node_modules/markdown-it-attrs/index.js

const defaultOptions = {
leftDelimiter: '{',
rightDelimiter: '}',
allowedAttributes: []
};

参考

使用 Markdown-it 渲染 Hexo——Garry Shield

评论