feat: mermaid
This commit is contained in:
@@ -2,10 +2,12 @@ import { Marked } from 'marked';
|
||||
import {createDirectives, presetDirectiveConfigs} from 'marked-directive';
|
||||
import yaml from 'js-yaml';
|
||||
import markedAlert from "marked-alert";
|
||||
import markedMermaid from "./mermaid";
|
||||
|
||||
// 使用 marked-directive 来支持指令语法
|
||||
const marked = new Marked()
|
||||
.use(markedAlert())
|
||||
.use(markedMermaid())
|
||||
.use(createDirectives([
|
||||
...presetDirectiveConfigs,
|
||||
{
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import type {MarkedExtension} from "marked";
|
||||
import mermaid from "mermaid";
|
||||
|
||||
mermaid.initialize({
|
||||
theme: 'dark'
|
||||
});
|
||||
|
||||
export default function markedMermaid(): MarkedExtension {
|
||||
return {
|
||||
renderer: {
|
||||
code: (code) => {
|
||||
// Use default render for other languages
|
||||
if (code.lang !== 'mermaid') {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Use Mermaid to render the diagram
|
||||
return `<pre class="mermaid">${code.text}</pre>`;
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user