主题
Interface: MermaidConfig
Defined in: packages/mermaid/src/config.type.ts:63
Properties
agentflow?
optionalagentflow:AgentflowDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:257
altFontFamily?
optionalaltFontFamily:string
Defined in: packages/mermaid/src/config.type.ts:211
architecture?
optionalarchitecture:ArchitectureDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:269
arrowMarkerAbsolute?
optionalarrowMarkerAbsolute:boolean
Defined in: packages/mermaid/src/config.type.ts:229
控制 html 代码中的箭头标记是绝对路径还是锚点。如果你使用基本标签设置,这很重要。
block?
optionalblock:BlockDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:277
c4?
optionalc4:C4DiagramConfig
Defined in: packages/mermaid/src/config.type.ts:274
class?
optionalclass:ClassDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:262
cynefin?
optionalcynefin:CynefinDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:284
darkMode?
optionaldarkMode:boolean
Defined in: packages/mermaid/src/config.type.ts:196
deterministicIds?
optionaldeterministicIds:boolean
Defined in: packages/mermaid/src/config.type.ts:249
此选项控制 SVG 中节点的生成 ID 是随机生成的还是基于种子生成的。如果设置为 false,则 ID 将基于当前日期生成,因此不是确定性的。这是默认行为。如果你的文件被签入源代码管理,这很重要,例如 git 并且除非内容发生变化,否则不应更改。
deterministicIDSeed?
optionaldeterministicIDSeed:string
Defined in: packages/mermaid/src/config.type.ts:254
此选项是确定性 ID 的可选种子。如果设置为 undefined 但 deterministicIds 是 true,则使用简单的数字迭代器。你可以设置此属性以基于静态字符串的种子。
dompurifyConfig?
optionaldompurifyConfig:Config
Defined in: packages/mermaid/src/config.type.ts:286
elk?
optionalelk:object
Defined in: packages/mermaid/src/config.type.ts:107
considerModelOrder?
optionalconsiderModelOrder:"NONE"|"NODES_AND_EDGES"|"PREFER_EDGES"|"PREFER_NODES"
如果这不会导致额外的边交叉,则保留模型文件中节点和边的顺序。根据策略的不同,这并不总是可行的,因为节点和边的顺序可能存在冲突。
cycleBreakingStrategy?
optionalcycleBreakingStrategy:"INTERACTIVE"|"GREEDY"|"DEPTH_FIRST"|"MODEL_ORDER"|"GREEDY_MODEL_ORDER"
此策略决定如何在图中查找循环并决定哪些边需要调整以打破循环。
forceNodeModelOrder?
optionalforceNodeModelOrder:boolean
模型给定的节点顺序不会为了产生更好的布局而改变。例如,如果模型中的节点 A 位于节点 B 之前,则在交叉最小化过程中不会改变该顺序。这假设在交叉最小化之前已经遵循了节点模型顺序。这可以通过将 considerModelOrder.strategy 设置为 NODES_AND_EDGES 来实现。
keepEntryNodeOnTop?
optionalkeepEntryNodeOnTop: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?
optionallayeringLayerBound:number
Elk 特定选项,用来限制 COFFMAN_GRAHAM 在一层中放置的节点数量。其他层次布局策略会忽略这个选项。值越小,绘图越高、越窄。
layeringStrategy?
optionallayeringStrategy:"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?
optionallineHops:boolean|"arc"|"gap"
将边的交叉渲染成小弧线("hops")或可见间隙,这样就能清楚地看出两条边相交时哪条在上面。被让路的边在承载跃点的那一段会失去圆角,这是为了让交叉更易读。曲线边不会重写,只是跳过,以免破坏它们的几何形状。设置为false则绘制普通交叉。
mergeEdges?
optionalmergeEdges:boolean
Elk 特定选项允许边在方便的地方共享路径。它可以制作漂亮的图表,但也会使图表更难阅读。
nodePlacementAlignment?
optionalnodePlacementAlignment:"NONE"|"LEFTUP"|"LEFTDOWN"|"RIGHTUP"|"RIGHTDOWN"|"BALANCED"
影响 Brandes-Koepf 节点布局对齐的特定选项。BALANCED 会结合四个方向的对齐;NONE 会选择最小的结果。默认情况下,默认预设使用 BALANCED,非默认命名预设使用 NONE。
nodePlacementStrategy?
optionalnodePlacementStrategy:"SIMPLE"|"NETWORK_SIMPLEX"|"LINEAR_SEGMENTS"|"BRANDES_KOEPF"
Elk 特定选项影响节点的放置方式。
orientFeedbackEdges?
optionalorientFeedbackEdges:boolean
将一条重新进入下游子图的边路由,而不是绕过子图。ELK 会将子图布局为其父图的一个节点。因此,子图外部的节点如果既接收来自子图的边又发送边回到子图,就会在子图处形成一个循环,即使子图内的节点没有形成循环。ELK 通过反转其中一条边并将其路由到子图的输入侧(绕过子图外部)来打破这个循环。启用此功能后,这类边会在布局前被找到,在每个子图折叠后的图上,并以相反方向交给 ELK。画出的边的箭头会指向真正的目标节点。普通节点之间的循环则交给 cycleBreakingStrategy 处理。
preset?
optionalpreset:"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?
optionalstraightenEdges:boolean
矫正一条在节点处有微小阶梯的边。ELK 会沿节点边均匀分布边的端口,但通常会将边路径沿着一个行不完全对齐端口的通道走,这样在边界处就会留下几像素的阶梯。带有圆角的时候,这两个微弯会重叠,看起来像个折点。启用这个功能会把通道放到端口所在的行,从而去掉阶梯,让边画成一条直线,同时两个端口也保持在布局时的位置。只有节点旁边的阶梯会被处理,而且只有在边接下来的方向不变时,真正的拐弯不会被折掉。当移动边的路径会拖动远端端口或者引入交叉时,这条边会完全保持原样。
er?
optionaler:ErDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:264
eventmodeling?
optionaleventmodeling:EventModelingDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:278
flowchart?
optionalflowchart:FlowchartDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:255
fontFamily?
optionalfontFamily: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?
optionalfontSize:number
Defined in: packages/mermaid/src/config.type.ts:288
forceLegacyMathML?
optionalforceLegacyMathML:boolean
Defined in: packages/mermaid/src/config.type.ts:244
此选项强制 Mermaid 依赖 KaTeX 自己的样式表来渲染 MathML。由于操作系统字体和浏览器的 MathML 实现之间的差异,如果一致的渲染很重要,建议使用此选项。如果设置为 true,则忽略 legacyMathML。
gantt?
optionalgantt:GanttDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:259
gitGraph?
optionalgitGraph:GitGraphDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:273
handDrawnSeed?
optionalhandDrawnSeed:number
Defined in: packages/mermaid/src/config.type.ts:92
定义使用手绘外观时要使用的种子。这对于自动化测试很重要,因为它们总是会在没有种子的情况下发现差异。默认值为 0,它给出一个随机种子。
htmlLabels?
optionalhtmlLabels: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?
optionalishikawa:IshikawaDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:271
journey?
optionaljourney:JourneyDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:260
kanban?
optionalkanban:KanbanDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:272
layout?
optionallayout:string
Defined in: packages/mermaid/src/config.type.ts:97
定义用于渲染图表的布局算法。默认使用 elk,它随 mermaid 一起打包。tiny 版本省略了 ELK 以保持体积小,并回退到 dagre。
legacyMathML?
optionallegacyMathML:boolean
Defined in: packages/mermaid/src/config.type.ts:239
此选项指定 Mermaid 是否可以期望依赖包含没有自己的 MathML 实现的浏览器的 KaTeX 样式表。如果禁用此选项且不支持 MathML,则数学公式将被替换为警告。如果启用此选项且不支持 MathML,则 Mermaid 将恢复为 KaTeX 的传统渲染。
logLevel?
optionallogLevel:0|2|1|"trace"|"debug"|"info"|"warn"|"error"|"fatal"|3|4|5
Defined in: packages/mermaid/src/config.type.ts:216
此选项决定 mermaid 要使用的日志量。
look?
optionallook:"neo"|"classic"|"handDrawn"
Defined in: packages/mermaid/src/config.type.ts:87
定义图表要使用的主要外观。
markdownAutoWrap?
optionalmarkdownAutoWrap:boolean
Defined in: packages/mermaid/src/config.type.ts:289
maxEdges?
optionalmaxEdges:number
Defined in: packages/mermaid/src/config.type.ts:106
定义图形中可以绘制的最大边数。
maxTextSize?
optionalmaxTextSize:number
Defined in: packages/mermaid/src/config.type.ts:101
用户文本图的最大允许大小
mindmap?
optionalmindmap:MindmapDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:270
packet?
optionalpacket:PacketDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:276
pie?
optionalpie:PieDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:265
quadrantChart?
optionalquadrantChart:QuadrantChartConfig
Defined in: packages/mermaid/src/config.type.ts:266
radar?
optionalradar:RadarDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:280
railroad?
optionalrailroad:RailroadDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:285
requirement?
optionalrequirement:RequirementDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:268
sankey?
optionalsankey:SankeyDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:275
secure?
optionalsecure:string[]
Defined in: packages/mermaid/src/config.type.ts:234
此选项控制哪些 currentConfig 密钥被视为安全,并且只能通过调用 mermaid.initialize 进行更改。这可以防止恶意图形指令覆盖站点的默认安全性。
securityLevel?
optionalsecurityLevel:"strict"|"loose"|"antiscript"|"sandbox"
Defined in: packages/mermaid/src/config.type.ts:220
解析图表的信任级别
sequence?
optionalsequence:SequenceDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:258
startOnLoad?
optionalstartOnLoad:boolean
Defined in: packages/mermaid/src/config.type.ts:224
指示 mermaid 是否在页面加载时启动
state?
optionalstate:StateDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:263
suppressErrorRendering?
optionalsuppressErrorRendering:boolean
Defined in: packages/mermaid/src/config.type.ts:294
禁止在 DOM 中插入 'Syntax error' 图。当你想要控制如何处理应用中的语法错误时,这很有用。
swimlane?
optionalswimlane:SwimlaneDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:256
theme?
optionaltheme:"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?
optionalthemeCSS:string
Defined in: packages/mermaid/src/config.type.ts:82
themeVariables?
optionalthemeVariables:any
Defined in: packages/mermaid/src/config.type.ts:81
timeline?
optionaltimeline:TimelineDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:261
treeView?
optionaltreeView:TreeViewDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:279
usecase?
optionalusecase:UsecaseDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:281
venn?
optionalvenn:VennDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:282
wardley-beta?
optionalwardley-beta:WardleyDiagramConfig
Defined in: packages/mermaid/src/config.type.ts:283
wrap?
optionalwrap:boolean
Defined in: packages/mermaid/src/config.type.ts:287
xyChart?
optionalxyChart:XYChartConfig
Defined in: packages/mermaid/src/config.type.ts:267