主题配置
动态和集成的主题配置在Mermaid版本8.7.0中引入。
现在可以在整个站点级别或单个Mermaid图表上自定义主题。对于整个站点的主题自定义,使用initialize调用。对于特定图表的自定义,使用init指令。
可用主题
default - 这是所有图表的默认主题。
neutral - 这个主题非常适合用于打印的黑白文档。
dark - 这个主题与深色元素或深色模式搭配得很好。
forest - 这个主题包含绿色调。
base - 这是唯一可以修改的主题。将此主题作为自定义的基础。
全站主题
要自定义整个网站的主题,请在mermaid上调用initialize方法。
设置theme为base的initialize调用示例:
javascript
mermaid.initialize({
securityLevel: 'loose',
theme: 'base',
});特定图表主题
要自定义单个图表的主题,请使用 init 指令。
示例:使用init指令将theme设置为forest:
提醒:唯一可以自定义的主题是
base主题。以下部分介绍了如何使用themeVariables进行自定义。
使用 themeVariables 自定义主题
要制作自定义主题,请通过init修改themeVariables。
您需要使用base主题,因为它是唯一可修改的主题。
| 参数 | 描述 | 类型 | 属性 |
|---|---|---|---|
| themeVariables | 可通过init指令修改 | Object | primaryColor, primaryTextColor, lineColor (查看完整列表) |
使用 init 指令修改 themeVariables 的示例:
颜色与颜色计算
为了确保图表的可读性,某些变量的默认值是从其他变量计算或派生的。例如,primaryBorderColor 是从 primaryColor 变量派生的。因此,如果 primaryColor 变量被自定义,Mermaid 会自动调整 primaryBorderColor。调整可能意味着颜色反转、色调变化、变暗/变亮10%等。
主题引擎只会识别十六进制颜色,而不会识别颜色名称。因此,值 #ff0000 将有效,但 red 则不会。
主题变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| darkMode | false | 影响派生颜色的计算方式。设置为true以启用暗模式。 |
| background | #f4f4f4 | 用于计算应具有背景颜色或与背景形成对比的项目的颜色 |
| fontFamily | trebuchet ms, verdana, arial | |
| fontSize | 16px | 字体大小(以像素为单位) |
| primaryColor | #fff4dd | 用作节点背景的颜色,其他颜色将从此颜色派生 |
| primaryTextColor | 从darkMode计算得出 #ddd/#333 | 在使用primaryColor的节点中用作文本颜色的颜色 |
| secondaryColor | 从primaryColor计算得出 | |
| primaryBorderColor | 从primaryColor计算得出 | 在使用primaryColor的节点中用作边框的颜色 |
| secondaryBorderColor | 从secondaryColor计算得出 | 在使用secondaryColor的节点中用作边框的颜色 |
| secondaryTextColor | 从secondaryColor计算得出 | 在使用secondaryColor的节点中用作文本颜色的颜色 |
| tertiaryColor | 从primaryColor计算得出 | |
| tertiaryBorderColor | 从tertiaryColor计算得出 | 在使用tertiaryColor的节点中用作边框的颜色 |
| tertiaryTextColor | 从tertiaryColor计算得出 | 在使用tertiaryColor的节点中用作文本颜色的颜色 |
| noteBkgColor | #fff5ad | 用于笔记背景的颜色 |
| noteTextColor | #333 | 注释矩形中的文本颜色 |
| noteBorderColor | 根据noteBkgColor计算得出 | 注释矩形中的边框颜色 |
| lineColor | 从背景计算得出 | |
| textColor | 从primaryTextColor计算得出 | 图表中背景上的文本,例如标签上的文本和序列图中的信号文本或甘特图中的标题 |
| mainBkg | 从primaryColor计算得出 | 流程图对象(如矩形/圆形)、类图类、序列图等的背景 |
| errorBkgColor | tertiaryColor | 语法错误消息的颜色 |
| errorTextColor | tertiaryTextColor | 语法错误消息的颜色 |
流程图变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| nodeBorder | primaryBorderColor | 节点边框颜色 |
| clusterBkg | tertiaryColor | 子图中的背景 |
| clusterBorder | tertiaryBorderColor | 集群边框颜色 |
| defaultLinkColor | lineColor | 链接颜色 |
| titleColor | tertiaryTextColor | 标题颜色 |
| edgeLabelBackground | 从secondaryColor计算得出 | |
| nodeTextColor | primaryTextColor | 节点内部文本的颜色 |
序列图变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| actorBkg | mainBkg | 演员背景颜色 |
| actorBorder | primaryBorderColor | 演员边框颜色 |
| actorTextColor | primaryTextColor | 演员文本颜色 |
| actorLineColor | actorBorder | 演员线条颜色 |
| signalColor | textColor | 信号颜色 |
| signalTextColor | textColor | 信号文本颜色 |
| labelBoxBkgColor | actorBkg | 标签框背景颜色 |
| labelBoxBorderColor | actorBorder | 标签框边框颜色 |
| labelTextColor | actorTextColor | 标签文本颜色 |
| loopTextColor | actorTextColor | 循环文本颜色 |
| activationBorderColor | 从secondaryColor计算得出 | 激活边框颜色 |
| activationBkgColor | secondaryColor | 激活背景颜色 |
| sequenceNumberColor | 从lineColor计算得出 | 序列号颜色 |
饼图变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| pie1 | primaryColor | 饼图中第一部分的填充颜色 |
| pie2 | secondaryColor | 饼图中第二部分的填充颜色 |
| pie3 | 从第三级计算 | 填充饼图中的第三部分 |
| pie4 | 从primaryColor计算得出 | 饼图中第四部分的填充颜色 |
| pie5 | 从secondaryColor计算得出 | 饼图中第五部分的填充 |
| pie6 | 从tertiaryColor计算得出 | 饼图中第6部分的填充 |
| pie7 | 从primaryColor计算得出 | 饼图中第7部分的填充颜色 |
| pie8 | 从primaryColor计算得出 | 饼图中第8部分的填充颜色 |
| pie9 | 从primaryColor计算得出 | 饼图中第9部分的填充颜色 |
| pie10 | 从primaryColor计算得出 | 饼图中第10部分的填充颜色 |
| pie11 | 从primaryColor计算得出 | 饼图中第11部分的填充颜色 |
| pie12 | 从primaryColor计算得出 | 饼图中第12部分的填充颜色 |
| pieTitleTextSize | 25px | 标题文字大小 |
| pieTitleTextColor | taskTextDarkColor | 标题文字颜色 |
| pieSectionTextSize | 17px | 单个部分标签的文本大小 |
| pieSectionTextColor | textColor | 单个部分标签的文本颜色 |
| pieLegendTextSize | 17px | 图表图例中标签的文本大小 |
| pieLegendTextColor | taskTextDarkColor | 图表图例中标签的文本颜色 |
| pieStrokeColor | black | 单个饼图部分的边框颜色 |
| pieStrokeWidth | 2px | 单个饼图部分的边框宽度 |
| pieOuterStrokeWidth | 2px | 饼图外圆的边框宽度 |
| pieOuterStrokeColor | black | 饼图外圆的边框颜色 |
| pieOpacity | 0.7 | 单个饼图部分的不透明度 |
状态颜色
| 变量 | 默认值 | 描述 |
|---|---|---|
| labelColor | primaryTextColor | |
| altBackground | tertiaryColor | 用于深度复合状态的背景 |
类颜色
| 变量 | 默认值 | 描述 |
|---|---|---|
| classText | textColor | 类图中文本的颜色 |
用户旅程颜色
| 变量 | 默认值 | 描述 |
|---|---|---|
| fillType0 | primaryColor | 旅程图中第一部分的填充 |
| fillType1 | secondaryColor | 旅程图中第二部分的填充 |
| fillType2 | 从primaryColor计算得出 | 旅程图中第三部分的填充 |
| fillType3 | 从secondaryColor计算得出 | 旅程图中第四部分的填充 |
| fillType4 | 从primaryColor计算得出 | 旅程图中第五部分的填充 |
| fillType5 | 从secondaryColor计算得出 | 旅程图中第6部分的填充 |
| fillType6 | 从primaryColor计算得出 | 旅程图中第7部分的填充 |
| fillType7 | 从secondaryColor计算得出 | 旅程图中第8部分的填充 |