1.0.1 • Published 3 years ago

hexo-renderer-markdown-them v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

hexo-renderer-markdown-it

Build Status npm version npm dependencies Coverage Status

This renderer plugin uses Markdown-it as a render engine on Hexo. Adds support for Markdown and CommonMark.

Main Features

  • 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

Installation

Follow the installation guide.

Options

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.

Extensibility

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.

Requests and bug reports

If you have any feature requests or bugs to report, you're welcome to file an issue.