Skip to content

mermaid


Interface: MermaidConfig ​

Defined in: packages/mermaid/src/config.type.ts:63

Properties ​

agentflow? ​

optional agentflow: AgentflowDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:257


altFontFamily? ​

optional altFontFamily: string

Defined in: packages/mermaid/src/config.type.ts:211


architecture? ​

optional architecture: ArchitectureDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:269


arrowMarkerAbsolute? ​

optional arrowMarkerAbsolute: boolean

Defined in: packages/mermaid/src/config.type.ts:229

控制 html 代码中的箭头标记是绝对路径还是锚点。如果你使用基本标签设置,这很重要。


block? ​

optional block: BlockDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:277


c4? ​

optional c4: C4DiagramConfig

Defined in: packages/mermaid/src/config.type.ts:274


class? ​

optional class: ClassDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:262


cynefin? ​

optional cynefin: CynefinDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:284


darkMode? ​

optional darkMode: boolean

Defined in: packages/mermaid/src/config.type.ts:196


deterministicIds? ​

optional deterministicIds: boolean

Defined in: packages/mermaid/src/config.type.ts:249

此选项控制 SVG 中节点的生成 ID 是随机生成的还是基于种子生成的。如果设置为 false,则 ID 将基于当前日期生成,因此不是确定性的。这是默认行为。如果你的文件被签入源代码管理,这很重要,例如 git 并且除非内容发生变化,否则不应更改。


deterministicIDSeed? ​

optional deterministicIDSeed: string

Defined in: packages/mermaid/src/config.type.ts:254

此选项是确定性 ID 的可选种子。如果设置为 undefined 但 deterministicIds 是 true,则使用简单的数字迭代器。你可以设置此属性以基于静态字符串的种子。


dompurifyConfig? ​

optional dompurifyConfig: Config

Defined in: packages/mermaid/src/config.type.ts:286


elk? ​

optional elk: object

Defined in: packages/mermaid/src/config.type.ts:107

considerModelOrder? ​

optional considerModelOrder: "NONE" | "NODES_AND_EDGES" | "PREFER_EDGES" | "PREFER_NODES"

如果这不会导致额外的边交叉,则保留模型文件中节点和边的顺序。根据策略的不同,这并不总是可行的,因为节点和边的顺序可能存在冲突。

cycleBreakingStrategy? ​

optional cycleBreakingStrategy: "INTERACTIVE" | "GREEDY" | "DEPTH_FIRST" | "MODEL_ORDER" | "GREEDY_MODEL_ORDER"

此策略决定如何在图中查找循环并决定哪些边需要调整以打破循环。

forceNodeModelOrder? ​

optional forceNodeModelOrder: boolean

模型给定的节点顺序不会为了产生更好的布局而改变。例如,如果模型中的节点 A 位于节点 B 之前,则在交叉最小化过程中不会改变该顺序。这假设在交叉最小化之前已经遵循了节点模型顺序。这可以通过将 considerModelOrder.strategy 设置为 NODES_AND_EDGES 来实现。

keepEntryNodeOnTop? ​

optional keepEntryNodeOnTop: boolean

每个特定选项都会将递归流程的入口节点保持在布局的顶部。当流程自身回环(回边到一个早期节点)时,ELK的基于度的循环断开算法没有"入口点"的概念,可能会将第一次声明的节点排列在中间,从而打乱阅读顺序。启用后,每个循环组件的入口节点都会固定在第一层,这样图表仍然可以从入口点阅读。非循环流程总是有一个自然的源,因此这对它们没有影响。

Only applies when the cyclic flow has no node without incoming edges: if the loop is fed from outside (e.g. a start node pointing into it), that component already has a natural source and nothing is pinned. Detection is also scoped per container, so cycles that cross a subgraph boundary are not detected.

layeringLayerBound? ​

optional layeringLayerBound: number

Elk 特定选项,用来限制 COFFMAN_GRAHAM 在一层中放置的节点数量。其他层次布局策略会忽略这个选项。值越小,绘图越高、越窄。

layeringStrategy? ​

optional layeringStrategy: "NETWORK_SIMPLEX" | "LONGEST_PATH" | "LONGEST_PATH_SOURCE" | "COFFMAN_GRAHAM" | "MIN_WIDTH" | "STRETCH_WIDTH" | "INTERACTIVE"

Elk 的具体选项决定每个节点被分配到哪一层——在左右图中是列,在上下图中是行。这是三个布局决策中最粗略的,所以改变它会让节点移动得比除了调整间距之外的其他操作都多。NETWORK_SIMPLEX 旨在最少长边。LONGEST_PATH 会把每个节点尽量往后放。COFFMAN_GRAHAM 限制共享一层的节点数,让宽图看起来更均匀,更像块状。MIN_WIDTH 和 STRETCH_WIDTH 在边长和图形宽度之间进行权衡。INTERACTIVE 会保留节点上已经有的位置。

lineHops? ​

optional lineHops: boolean | "arc" | "gap"

将边的交叉渲染成小弧线("hops")或可见间隙,这样就能清楚地看出两条边相交时哪条在上面。被让路的边在承载跃点的那一段会失去圆角,这是为了让交叉更易读。曲线边不会重写,只是跳过,以免破坏它们的几何形状。设置为false则绘制普通交叉。

mergeEdges? ​

optional mergeEdges: boolean

Elk 特定选项允许边在方便的地方共享路径。它可以制作漂亮的图表,但也会使图表更难阅读。

nodePlacementAlignment? ​

optional nodePlacementAlignment: "NONE" | "LEFTUP" | "LEFTDOWN" | "RIGHTUP" | "RIGHTDOWN" | "BALANCED"

影响 Brandes-Koepf 节点布局对齐的特定选项。BALANCED 会结合四个方向的对齐;NONE 会选择最小的结果。默认情况下,默认预设使用 BALANCED,非默认命名预设使用 NONE。

nodePlacementStrategy? ​

optional nodePlacementStrategy: "SIMPLE" | "NETWORK_SIMPLEX" | "LINEAR_SEGMENTS" | "BRANDES_KOEPF"

Elk 特定选项影响节点的放置方式。

orientFeedbackEdges? ​

optional orientFeedbackEdges: boolean

将一条重新进入下游子图的边路由,而不是绕过子图。ELK 会将子图布局为其父图的一个节点。因此,子图外部的节点如果既接收来自子图的边又发送边回到子图,就会在子图处形成一个循环,即使子图内的节点没有形成循环。ELK 通过反转其中一条边并将其路由到子图的输入侧(绕过子图外部)来打破这个循环。启用此功能后,这类边会在布局前被找到,在每个子图折叠后的图上,并以相反方向交给 ELK。画出的边的箭头会指向真正的目标节点。普通节点之间的循环则交给 cycleBreakingStrategy 处理。

preset? ​

optional preset: "legacy" | "default" | "modelOrder" | "depthFirst"

命名的组合包括分层、节点放置、放置对齐和循环破坏选项。显式选项会覆盖该选项的预设值;其余的预设值仍然适用。default — 网络单纯形分层,顶层和平面子图中使用平衡的 Brandes-Koepf 放置,以及深度优先循环破坏。平衡放置偏向于中心分支和复合状态的输入,有时会以绘图更宽或更高为代价。它不保证每条边都连接到其目标的中心。legacy — Brandes-Koepf 放置,未对齐(NONE)以及 ELK 自身的贪心循环破坏。重现了预设存在之前的渲染效果。modelOrder — 网络单纯形分层和顶层放置,子图内使用 Brandes-Koepf 放置,未对齐(NONE),以及贪心的模型顺序循环破坏,偏向于声明顺序。

depthFirst — the previous default: network simplex layering and top-level placement, Brandes-Koepf placement inside subgraphs, NONE alignment, and depth-first cycle breaking.

Setting layeringStrategy, nodePlacementStrategy, nodePlacementAlignment or cycleBreakingStrategy explicitly overrides the preset for that option, including an explicit NONE alignment.

straightenEdges? ​

optional straightenEdges: boolean

矫正一条在节点处有微小阶梯的边。ELK 会沿节点边均匀分布边的端口,但通常会将边路径沿着一个行不完全对齐端口的通道走,这样在边界处就会留下几像素的阶梯。带有圆角的时候,这两个微弯会重叠,看起来像个折点。启用这个功能会把通道放到端口所在的行,从而去掉阶梯,让边画成一条直线,同时两个端口也保持在布局时的位置。只有节点旁边的阶梯会被处理,而且只有在边接下来的方向不变时,真正的拐弯不会被折掉。当移动边的路径会拖动远端端口或者引入交叉时,这条边会完全保持原样。


er? ​

optional er: ErDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:264


eventmodeling? ​

optional eventmodeling: EventModelingDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:278


flowchart? ​

optional flowchart: FlowchartDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:255


fontFamily? ​

optional fontFamily: string

Defined in: packages/mermaid/src/config.type.ts:210

指定渲染图表中使用的字体。可以是任何可能的 CSS font-family。 See https://developer.mozilla.org/en-US/docs/Web/CSS/font-family


fontSize? ​

optional fontSize: number

Defined in: packages/mermaid/src/config.type.ts:288


forceLegacyMathML? ​

optional forceLegacyMathML: boolean

Defined in: packages/mermaid/src/config.type.ts:244

此选项强制 Mermaid 依赖 KaTeX 自己的样式表来渲染 MathML。由于操作系统字体和浏览器的 MathML 实现之间的差异,如果一致的渲染很重要,建议使用此选项。如果设置为 true,则忽略 legacyMathML。


gantt? ​

optional gantt: GanttDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:259


gitGraph? ​

optional gitGraph: GitGraphDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:273


handDrawnSeed? ​

optional handDrawnSeed: number

Defined in: packages/mermaid/src/config.type.ts:92

定义使用手绘外观时要使用的种子。这对于自动化测试很重要,因为它们总是会在没有种子的情况下发现差异。默认值为 0,它给出一个随机种子。


htmlLabels? ​

optional htmlLabels: boolean

Defined in: packages/mermaid/src/config.type.ts:204

用于设置是否应使用 HTML 标签在节点和边上渲染标签的标志。 Note: Diagram-specific htmlLabels settings (e.g., flowchart.htmlLabels) are deprecated. Use this root-level htmlLabels setting instead. The root-level htmlLabels takes precedence over any diagram-specific settings.


ishikawa? ​

optional ishikawa: IshikawaDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:271


journey? ​

optional journey: JourneyDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:260


kanban? ​

optional kanban: KanbanDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:272


layout? ​

optional layout: string

Defined in: packages/mermaid/src/config.type.ts:97

定义用于渲染图表的布局算法。默认使用 elk,它随 mermaid 一起打包。tiny 版本省略了 ELK 以保持体积小,并回退到 dagre。


legacyMathML? ​

optional legacyMathML: boolean

Defined in: packages/mermaid/src/config.type.ts:239

此选项指定 Mermaid 是否可以期望依赖包含没有自己的 MathML 实现的浏览器的 KaTeX 样式表。如果禁用此选项且不支持 MathML,则数学公式将被替换为警告。如果启用此选项且不支持 MathML,则 Mermaid 将恢复为 KaTeX 的传统渲染。


logLevel? ​

optional logLevel: 0 | 2 | 1 | "trace" | "debug" | "info" | "warn" | "error" | "fatal" | 3 | 4 | 5

Defined in: packages/mermaid/src/config.type.ts:216

此选项决定 mermaid 要使用的日志量。


look? ​

optional look: "neo" | "classic" | "handDrawn"

Defined in: packages/mermaid/src/config.type.ts:87

定义图表要使用的主要外观。


markdownAutoWrap? ​

optional markdownAutoWrap: boolean

Defined in: packages/mermaid/src/config.type.ts:289


maxEdges? ​

optional maxEdges: number

Defined in: packages/mermaid/src/config.type.ts:106

定义图形中可以绘制的最大边数。


maxTextSize? ​

optional maxTextSize: number

Defined in: packages/mermaid/src/config.type.ts:101

用户文本图的最大允许大小


mindmap? ​

optional mindmap: MindmapDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:270


packet? ​

optional packet: PacketDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:276


pie? ​

optional pie: PieDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:265


quadrantChart? ​

optional quadrantChart: QuadrantChartConfig

Defined in: packages/mermaid/src/config.type.ts:266


radar? ​

optional radar: RadarDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:280


railroad? ​

optional railroad: RailroadDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:285


requirement? ​

optional requirement: RequirementDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:268


sankey? ​

optional sankey: SankeyDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:275


secure? ​

optional secure: string[]

Defined in: packages/mermaid/src/config.type.ts:234

此选项控制哪些 currentConfig 密钥被视为安全,并且只能通过调用 mermaid.initialize 进行更改。这可以防止恶意图形指令覆盖站点的默认安全性。


securityLevel? ​

optional securityLevel: "strict" | "loose" | "antiscript" | "sandbox"

Defined in: packages/mermaid/src/config.type.ts:220

解析图表的信任级别


sequence? ​

optional sequence: SequenceDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:258


startOnLoad? ​

optional startOnLoad: boolean

Defined in: packages/mermaid/src/config.type.ts:224

指示 mermaid 是否在页面加载时启动


state? ​

optional state: StateDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:263


suppressErrorRendering? ​

optional suppressErrorRendering: boolean

Defined in: packages/mermaid/src/config.type.ts:294

禁止在 DOM 中插入 'Syntax error' 图。当你想要控制如何处理应用中的语法错误时,这很有用。


swimlane? ​

optional swimlane: SwimlaneDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:256


theme? ​

optional theme: "default" | "base" | "dark" | "forest" | "neutral" | "neo" | "neo-dark" | "redux" | "redux-dark" | "redux-color" | "redux-dark-color" | "null"

Defined in: packages/mermaid/src/config.type.ts:68

主题,CSS 样式表。你也可以使用 themeCSS 覆盖此值。


themeCSS? ​

optional themeCSS: string

Defined in: packages/mermaid/src/config.type.ts:82


themeVariables? ​

optional themeVariables: any

Defined in: packages/mermaid/src/config.type.ts:81


timeline? ​

optional timeline: TimelineDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:261


treeView? ​

optional treeView: TreeViewDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:279


usecase? ​

optional usecase: UsecaseDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:281


venn? ​

optional venn: VennDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:282


wardley-beta? ​

optional wardley-beta: WardleyDiagramConfig

Defined in: packages/mermaid/src/config.type.ts:283


wrap? ​

optional wrap: boolean

Defined in: packages/mermaid/src/config.type.ts:287


xyChart? ​

optional xyChart: XYChartConfig

Defined in: packages/mermaid/src/config.type.ts:267

Opens in mermaid.ai