docsify/docs/markdown.md
Joe Pea b621e0e4e7 chore: update miscellaneous parts of the source to reasonably modern language alternatives, remove polyfills, improve some JSDoc comments, remove traces of IE
BREAKING: In a minority of cases syntax updates may break apps running in very old browsers (such as Internet Explorer), or apps that build Docsify in a custom way with old build tools. To upgrade, build Docsify for older browsers in a custom way, or update existing build tools to handle newer syntax.

DEPRECATED: `$docsify.themeColor` is deprecated and will be eventually removed, use a `--theme-color` CSS variable in your style sheet.
2023-07-03 01:50:00 -07:00

1.2 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() {
        // ...
      }
    }
  }
}

?> Configuration Options Reference: marked documentation

You can completely customize the parsing rules.

window.$docsify = {
  markdown(marked, renderer) {
    // ...

    return marked
  }
}

Supports mermaid

// Import mermaid
//  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
//  <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>

let num = 0;
mermaid.initialize({ startOnLoad: false });

window.$docsify = {
  markdown: {
    renderer: {
      code(code, lang) {
        if (lang === "mermaid") {
          return /* html */ `
            <div class="mermaid">${mermaid.render('mermaid-svg-' + num++, code)}</div>
          `;
        }
        return this.origin.code.apply(this, arguments);
      }
    }
  }
}