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.
30 lines
1.0 KiB
30 lines
1.0 KiB
var Remarkable = require('remarkable');
|
|
var hljs = require('highlight.js') // https://highlightjs.org/
|
|
|
|
var md = new Remarkable({
|
|
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
|
|
typographer: true, // Enable smartypants and other sweet transforms
|
|
|
|
// 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.parse('# Remarkable rulezz!'));
|
|
// => <h1>Remarkable rulezz!</h1>
|
|
|