主题配置
Mermaid 版本 8.7.0 引入了动态且集成的主题配置。
现在可以在网站范围或单个 Mermaid 图表上自定义主题。对于网站范围的主题自定义,使用 initialize
调用。对于特定于图表的自定义,使用 init
指令。
可用主题
default - 这是所有图表的默认主题。
neutral - 此主题非常适合将要打印的黑白文档。
dark - 此主题与深色元素或黑暗模式搭配使用效果很好。
forest - 此主题包含绿色色调。
base - 这是唯一可以修改的主题。将此主题用作自定义的基础。
网站范围的主题
要自定义网站范围的主题,请在 mermaid
上调用 initialize
方法。
将 theme
设置为 base
的 initialize
调用的示例
mermaid.initialize({
securityLevel: 'loose',
theme: 'base',
});
特定于图表的主题
要自定义单个图表的主题,请使用 init
指令。
将 theme
设置为 forest
的 init
指令的示例
提醒:唯一可以自定义的主题是
base
主题。以下部分介绍如何使用themeVariables
进行自定义。
使用 themeVariables
自定义主题
要创建自定义主题,请通过 init
修改 themeVariables
。
您需要使用 base 主题,因为它是唯一可修改的主题。
参数 | 描述 | 类型 | 属性 |
---|---|---|---|
themeVariables | 可以使用 init 指令修改 | 对象 | 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 | 从 background 计算得出 | |
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 | 从 tertiary 计算得出 | 饼图中第三部分的填充 |
pie4 | 从 primaryColor 计算得出 | 饼图中第四部分的填充 |
pie5 | 从 secondaryColor 计算得出 | 饼图中第五部分的填充 |
pie6 | 从 tertiaryColor 计算得出 | 饼图中第六部分的填充 |
pie7 | 从 primaryColor 计算得出 | 饼图中第七部分的填充 |
pie8 | 从 primaryColor 计算得出 | 饼图中第八部分的填充 |
pie9 | 从 primaryColor 计算得出 | 饼图中第九部分的填充 |
pie10 | 从 primaryColor 计算得出 | 饼图中第十部分的填充 |
pie11 | 从 primaryColor 计算得出 | 饼图中第十一部分的填充 |
pie12 | 从 primaryColor 计算得出 | 饼图中第十二部分的填充 |
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 计算得出 | 旅程图中第六个部分的填充颜色 |
fillType6 | 从 primaryColor 计算得出 | 旅程图中第七个部分的填充颜色 |
fillType7 | 从 secondaryColor 计算得出 | 旅程图中第八个部分的填充颜色 |