Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
https://markdown-it.github.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
35 lines
1.2 KiB
var hljs = require('highlight.js') // https://highlightjs.org/
|
|
|
|
var md = require('markdown-it')('full', {
|
|
html: false, // Enable HTML tags in source
|
|
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
linkify: true, // autoconvert URL-like texts to links
|
|
|
|
// Enable some language-neutral replacements + quotes beautification
|
|
typographer: false,
|
|
|
|
// Double + single quotes replacement pairs, when typographer enabled,
|
|
// and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.
|
|
quotes: '“”‘’',
|
|
|
|
// Highlighter function. Should return escaped HTML,
|
|
// or '' if input not changed
|
|
highlight: function (str, lang) {
|
|
if (lang && hljs.getLanguage(lang)) {
|
|
try {
|
|
return hljs.highlight(lang, str).value;
|
|
} catch (__) {}
|
|
}
|
|
|
|
try {
|
|
return hljs.highlightAuto(str).value;
|
|
} catch (__) {}
|
|
|
|
return ''; // use external default escaping
|
|
}
|
|
});
|
|
|
|
console.log(md.render('# markdown-it rulezz!'));
|
|
// => <h1>markdown-it rulezz!</h1>
|
|
|