mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
61 lines
1.3 KiB
Markdown
61 lines
1.3 KiB
Markdown
# Markdown configuration
|
|
|
|
**docsify** uses [marked](https://github.com/markedjs/marked) as its Markdown parser. You can customize how it renders your Markdown content to HTML by customizing `renderer`:
|
|
|
|
```js
|
|
window.$docsify = {
|
|
markdown: {
|
|
smartypants: true,
|
|
renderer: {
|
|
link() {
|
|
// ...
|
|
},
|
|
},
|
|
},
|
|
};
|
|
```
|
|
|
|
> [!TIP] Configuration Options Reference: [marked documentation](https://marked.js.org/#/USING_ADVANCED.md)
|
|
|
|
You can completely customize the parsing rules.
|
|
|
|
```js
|
|
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`).
|
|
|
|
```js
|
|
// <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);
|
|
},
|
|
},
|
|
},
|
|
};
|
|
```
|