UNPKG

751 BJavaScriptView Raw
1'use strict';
2
3// Shamelessly copied from nico:
4// https://github.com/lepture/nico/blob/master/lib/sdk/markdown/marked.js
5var markit = require('markit')
6var format = require('util').format
7var encode = require('../encode')
8var hl = require('../highlight')
9
10
11var hlRenderer = new markit.Renderer()
12
13hlRenderer.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
18hlRenderer.blockcode = function blockcode(code, language) {
19 return hl.render(code, language)
20}
21
22module.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}