docsify/docs/markdown.md
John Hildenbiddle 2e59b0f50c
feat: GitHub style callouts (#2487)
Co-authored-by: Koy Zhuang <koy@ko8e24.top>
Co-authored-by: Luffy <52o@qq52o.cn>
2025-09-01 12:53:59 +08:00

1.3 KiB

Markdown configuration

docsify uses marked 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;
  },
};

Supports mermaid

[!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/mermaid@9.3.0/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);
      },
    },
  },
};