A pandoc-markdown-flavor renderer for hexo.
JavaScript
Latest commit a21e503 Jan 8, 2017 潘伟洲 Update readme for commit f977603
Permalink
Failed to load latest commit information.
.directory
.gitignore Add configuration options to send extra arguments to pandoc. Particul… Aug 5, 2015
LICENSE
README.md Update readme for commit f977603 Jan 8, 2017
index.js
package.json

README.md

hexo-renderer-pandoc

Yet another markdown renderer plugin for Hexo. It can converts Pandoc's markdown to HTML. If you want, it can also be a renderer for textile, reStructedText, etc.

Installation

  1. Firstly, make sure you have installed pandoc.
  2. Secondly, cd into your hexo root folder and execute the following command:
$ npm install hexo-renderer-pandoc --save

This will install hexo-renderer-pandoc.

Customization

hexo-renderer-pandoc can not only render markdown, but also supports textile, reStructedText and many other formats, due to the strong capability of pandoc.

By default, it only renders Pandoc-markdown. But if you want to make it be a textile renderer instead of a markdown renderer, simply modify the args from the index.js as:

var args = [ '-f', 'textile', '-t', 'html', '--mathjax', '--smart'];

and change the register line as:

hexo.extend.renderer.register('textile', 'html', pandoc);

You can pass additional arguments to pandoc through _config.yml. The default configuration is:

pandoc:
  filters:
  extra:
  meta:
  mathEngine:
  • filters is a list of any pandoc filter installed on your path.
  • extra is a list of mappings:
extra:
  - key: value

passed to pandoc as --key value.

  • meta is a list of anything you wish to be sent to pandoc as meta:
meta:
  - key: value1
  - value2

would be passed as -M key=value1 -M value2.

pandoc-citeproc for example can be configured as:

pandoc:
  filters:
    - pandoc-citeproc
  extra:
    bibliography: "/path/to/bibfile.bib"
  meta:
    - suppress-bibliography
  • mathEngine is an option for choosing math engine. By default, mathEngine is mathjax.

For example, if you want to use KaTeX, you can pass katex to the mathEngine option:

pandoc:
  mathEngine: katex

Then, the args of pandoc is this: [..., "--katex", ...] .

Credits

I'd like to thank John MacFarlane for creating Pandoc and John Gruber for developing Markdown. Also, this work is based on @pvorb (Paul Vorbach) 's node-pdc wrapper for pandoc.