1 | 'use strict';
|
2 |
|
3 |
|
4 |
|
5 | var markit = require('markit')
|
6 | var format = require('util').format
|
7 | var encode = require('../encode')
|
8 | var hl = require('../highlight')
|
9 |
|
10 |
|
11 | var hlRenderer = new markit.Renderer()
|
12 |
|
13 | hlRenderer.header = function header(text, level) {
|
14 | var id = encode.uri(text);
|
15 | return format('<h%d id="%s">%s</h%d>', level, id, text, level);
|
16 | }
|
17 |
|
18 | hlRenderer.blockcode = function blockcode(code, language) {
|
19 | return hl.render(code, language)
|
20 | }
|
21 |
|
22 | module.exports = function md(src) {
|
23 | return markit(src, {
|
24 | gfm: true,
|
25 | tables: true,
|
26 | breaks: false,
|
27 | pedantic: true,
|
28 | sanitize: false,
|
29 | smartLists: true,
|
30 | renderer: hlRenderer
|
31 | })
|
32 | }
|