This renderer plugin uses Markdown-it as a render engine on Hexo. Adds support for Markdown and CommonMark.
- Support for Markdown, GFM and CommonMark
- Extensive configuration
- Faster than the default renderer |
hexo-renderer-marked
- Safe ID for headings
- Anchors for headings with ID
- Footnotes
<sub>
H2O<sup>
x2<ins>
Inserted
Follow the installation guide.
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: ''
Refer to the wiki for more details.
This plugin overrides some default behaviors of how markdown-it plugin renders the markdown into html, to integrate with the Hexo ecosystem. It is possible to override this plugin too, without resorting to forking the whole thing.
For example, to enable unsafe links (which is disabled by default):
hexo.extend.filter.register('markdown-it:renderer', function(md) {
const { config } = this; // Optional, parse user config from _config.yml
md.validateLink = function() { return true; };
});
// Specify custom function in plugin option
const { slugize } = require('hexo-util');
const opts = hexo.config.markdown.anchors;
const mdSlugize = (str) => {
return slugize(str, { transform: opts.case, ...opts });
};
hexo.extend.filter.register('markdown-it:renderer', function(md) {
md.use(require('markdown-it-table-of-contents'), {
includeLevel: [2,3,4],
slugify: mdSlugize
});
});
Save the file in "scripts/" folder and run Hexo as usual.
Refer to markdown-it API documentation.
If you have any feature requests or bugs to report, you're welcome to file an issue.