docsify uses marked v13+ as its Markdown parser. You can customize how it renders your Markdown content to HTML by customizing renderer
:
window.$docsify = {
markdown: {
smartypants: true,
renderer: {
link() {
// ...
},
},
},
};
[!TIP] Configuration Options Reference: marked documentation
You can completely customize the parsing rules.
window.$docsify = {
markdown(marked, renderer) {
// ...
return marked;
},
};
[!IMPORTANT] Currently, docsify doesn't support the async mermaid render (the latest mermaid version supported is
v9.3.0
).
// <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
// <script src="//cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js"></script>
let num = 0;
mermaid.initialize({ startOnLoad: false });
window.$docsify = {
markdown: {
renderer: {
code({ text, lang }) {
if (lang === 'mermaid') {
return /* html */ `
<div class="mermaid">${mermaid.render(
'mermaid-svg-' + num++,
text,
)}</div>
`;
}
return this.origin.code.apply(this, arguments);
},
},
},
};