hexo-renderer-kramed

Build Status NPM version

This plugin uses kramed but not marked as render engine, it is a fork of hexo-renderer-marked. You need to uninstall hexo-renderer-marked to avoid conflicts.

Why use kramed?

Just for the support of mathjax. I’ve modified the inline math format, like this example below:

1
`$\sigma$`

But this renderer will only wrap your inline tex and display tex with a <script> tag, to fully enable mathjax, you need to add some js code in your theme, what I did in my theme hexo-theme-paperbox is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
menuSettings: {
zoom: "None"
},
showMathMenu: false,
jax: ["input/TeX","output/CommonHTML"],
extensions: ["tex2jax.js"],
TeX: {
extensions: ["AMSmath.js","AMSsymbols.js"],
equationNumbers: {
autoNumber: "AMS"
}
},
tex2jax: {
inlineMath: [["\\(", "\\)"]],
displayMath: [["\\[", "\\]"]]
}
});
</script>

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.6.1/MathJax.js"></script>

Tips

You can use the following formats for your equations:

1
2
3
inlineMath: `$\sigma$`

displayMath: $$\sigma$$

If you need to contain $ in \ tag:

1
` $some code$ `

If you need to contain $$$$ in your text:

1
\$\$

Installation

1
2
$ npm uninstall hexo-renderer-marked --save
$ npm install hexo-renderer-kramed --save
  • Hexo 3: >= 0.2
  • Hexo 2: 0.1.x

Options

You can configure this plugin in _config.yml.

1
2
3
4
5
6
7
8
kramed:
gfm: true
pedantic: false
sanitize: false
tables: true
breaks: true
smartLists: true
smartypants: true
  • gfm - Enables GitHub flavored markdown
  • pedantic - Conform to obscure parts of markdown.pl as much as possible. Don’t fix any of the original markdown bugs or poor behavior.
  • sanitize - Sanitize the output. Ignore any HTML that has been input.
  • tables - Enable GFM tables. This option requires the gfm option to be true.
  • breaks - Enable GFM line breaks. This option requires the gfm option to be true.
  • smartLists - Use smarter list behavior than the original markdown.
  • smartypants - Use “smart” typograhic punctuation for things like quotes and dashes.