import MarkdownIt = require("markdown-it"); import Renderer = require("markdown-it/lib/renderer"); import Token = require("markdown-it/lib/token"); { const md = new MarkdownIt(); var result = md.render('# markdown-it rulezz!'); } { var md = MarkdownIt(); var result = md.render('# markdown-it rulezz!'); var result = md.renderInline('__markdown-it__ rulezz!'); } { var md = MarkdownIt('commonmark'); } { var md = MarkdownIt({ html: true, linkify: true, typographer: true }); } { var md = MarkdownIt({ html: false, xhtmlOut: false, breaks: false, langPrefix: 'language-', linkify: false, typographer: false, quotes: '“”‘’', highlight: function () { return ''; } }); } declare const plugin1: any; declare const plugin2: any; declare const plugin3: any; declare const opts: any; { var md = MarkdownIt() .use(plugin1) .use(plugin2, opts) .use(plugin3); } import * as hljs from 'highlight.js'; { var md = MarkdownIt({ highlight: function (str, lang) { if (lang && hljs.getLanguage(lang)) { try { return hljs.highlight(lang, str).value; } catch (__) { } } return ''; // use external default escaping } }); } { var md = MarkdownIt({ highlight: function (str, lang) { if (lang && hljs.getLanguage(lang)) { try { return '
' +
                        hljs.highlight(lang, str, true).value +
                        '
'; } catch (__) { } } return '
' + md.utils.escapeHtml(str) + '
'; } }); md.linkify.tlds('.py', false); } { var md = MarkdownIt() .disable(['link', 'image']) .enable(['link']) .enable('image'); // Enable everything md = MarkdownIt({ html: true, linkify: true, typographer: true, }); } { var md = MarkdownIt() .set({ html: true, breaks: true }) .set({ typographer: true }); } { var md = MarkdownIt() .use(plugin1, 'foo_replace', 'text', function (tokens: any[], idx: number) { tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar'); }); } { var md = MarkdownIt(); // enable everything md.validateLink = function () { return true; } } function myToken(tokens: any, idx: number, options: any, env: any, self: any) { //... return result; }; { var md = MarkdownIt(); md.renderer.rules['my_token'] = myToken } { const md = MarkdownIt({ linkify: true, highlight: (str: string, lang: string) => { if (hljs) { if (lang && hljs.getLanguage(lang)) { try { return hljs.highlight(lang, str).value; } catch (error) { console.log(error); } } try { return hljs.highlightAuto(str).value; } catch (error) { console.log(error); } } return ""; }, }); md.renderer.rules["image"] = (tokens: Token[], index: number, options: any, env: any, self: Renderer) => { const token = tokens[index]; const aIndex = token.attrIndex("src"); token.attrs[aIndex][1]; token.attrPush(["style", "color: red"]); return md.renderer.rules["image"](tokens, index, options, env, self); }; let defaultLinkRender: MarkdownIt.TokenRender; if (md.renderer.rules["link_open"]) { defaultLinkRender = md.renderer.rules["link_open"]; } else { defaultLinkRender = (tokens: Token[], index: number, options: any, env: any, self: Renderer) => { return self.renderToken(tokens, index, options); }; } md.renderer.rules["link_open"] = (tokens: Token[], index: number, options: any, env: any, self: Renderer) => { tokens[index].attrPush(["target", "_blank"]); tokens[index].attrPush(["rel", "nofollow"]); return defaultLinkRender(tokens, index, options, env, self); }; }