Skip to content

Themenkonfiguration

Dynamische und integrierte Themenkonfiguration wurde in der Mermaid-Version 8.7.0 eingeführt.

Themen können nun auf der globalen Ebene oder für einzelne Mermaid-Diagramme angepasst werden. Für die globale Themenanpassung wird der initialize-Aufruf verwendet. Für diagrammspezifische Anpassungen wird die init-Direktive verwendet.

Verfügbare Themen

  1. default - Dies ist das Standardthema für alle Diagramme.

  2. neutral - Dieses Thema eignet sich hervorragend für Schwarz-Weiß-Dokumente, die gedruckt werden.

  3. dark - Dieses Thema passt gut zu dunklen Elementen oder zum Dunkelmodus.

  4. forest - Dieses Thema enthält Grüntöne.

  5. base - Dies ist das einzige Thema, das modifiziert werden kann. Verwenden Sie dieses Thema als Grundlage für Anpassungen.

Globale Themen

Um Themen global anzupassen, rufen Sie die Methode initialize auf dem mermaid auf.

Beispiel für den initialize-Aufruf, der das theme auf base setzt:

javascript
mermaid.initialize({
  securityLevel: 'loose',
  theme: 'base',
});

Diagrammspezifische Themen

Um das Thema eines einzelnen Diagramms anzupassen, verwenden Sie die init-Direktive.

Beispiel für die init-Direktive, die das theme auf forest setzt:

Code:
mermaid

Erinnerung: Das einzige Thema, das angepasst werden kann, ist das base-Thema. Der folgende Abschnitt behandelt, wie themeVariables für Anpassungen verwendet werden kann.

Anpassen von Themen mit themeVariables

Um ein benutzerdefiniertes Thema zu erstellen, ändern Sie themeVariables über init.

Sie müssen das base Thema verwenden, da es das einzige modifizierbare Thema ist.

ParameterBeschreibungTypEigenschaften
themeVariablesModifizierbar mit der init-DirektiveObjektprimaryColor, primaryTextColor, lineColor (siehe vollständige Liste)

Beispiel für die Änderung von themeVariables mit der init-Direktive:

Code:
mermaid

Farbe und Farbberechnung

Um die Lesbarkeit des Diagramms sicherzustellen, wird der Standardwert bestimmter Variablen berechnet oder aus anderen Variablen abgeleitet. Zum Beispiel wird die primaryBorderColor aus der Variablen primaryColor abgeleitet. Wenn die Variable primaryColor angepasst wird, passt Mermaid die primaryBorderColor automatisch an. Anpassungen können eine Farbinversion, eine Farbtonänderung, ein Verdunkeln/Erhellen um 10 % usw. bedeuten.

Die Themen-Engine erkennt nur Hex-Farben und nicht Farbnamen. Der Wert #ff0000 funktioniert, aber red nicht.

Themenvariablen

VariableStandardwertBeschreibung
darkModefalseBeeinflusst, wie abgeleitete Farben berechnet werden. Setzen Sie den Wert auf true für den Dunkelmodus.
background#f4f4f4Wird zur Berechnung der Farbe für Elemente verwendet, die entweder hintergrundfarbig oder kontrastierend zum Hintergrund sein sollen
fontFamilytrebuchet ms, verdana, arial
fontSize16pxSchriftgröße in Pixeln
primaryColor#fff4ddFarbe, die als Hintergrund in Knoten verwendet wird, andere Farben werden von dieser abgeleitet
primaryTextColorberechnet aus darkMode #ddd/#333Farbe, die als Textfarbe in Knoten unter Verwendung von primaryColor verwendet wird
secondaryColorberechnet aus primaryColor
primaryBorderColorberechnet aus primaryColorFarbe, die als Rand in Knoten unter Verwendung von primaryColor verwendet wird
secondaryBorderColorberechnet aus secondaryColorFarbe, die als Rand in Knoten unter Verwendung von secondaryColor verwendet wird
secondaryTextColorberechnet aus secondaryColorFarbe, die als Textfarbe in Knoten unter Verwendung von secondaryColor verwendet wird
tertiaryColorberechnet aus primaryColor
tertiaryBorderColorberechnet aus tertiaryColorFarbe, die als Rand in Knoten unter Verwendung von tertiaryColor verwendet wird
tertiaryTextColorberechnet aus tertiaryColorFarbe, die als Textfarbe in Knoten unter Verwendung von tertiaryColor verwendet wird
noteBkgColor#fff5adFarbe, die als Hintergrund in Notizen verwendet wird
noteTextColor#333Textfarbe in Notizrechtecken
noteBorderColorberechnet aus noteBkgColorRandfarbe in Notizrechtecken
lineColorberechnet aus background
textColorberechnet aus primaryTextColorText im Diagramm über dem Hintergrund, z. B. Text auf Etiketten und auf Signalen im Sequenzdiagramm oder der Titel im Gantt-Diagramm
mainBkgberechnet aus primaryColorHintergrund in Flussdiagrammobjekten wie Rechtecken/Kreisen, Klassenstuhl-Klassendiagrammen, Sequenzdiagrammen usw.
errorBkgColortertiaryColorFarbe für Syntaxfehlernachricht
errorTextColortertiaryTextColorFarbe für Syntaxfehlernachricht

Flussdiagrammvariablen

VariableStandardwertBeschreibung
nodeBorderprimaryBorderColorKnotenrandfarbe
clusterBkgtertiaryColorHintergrund in Teilgrafiken
clusterBordertertiaryBorderColorCluster-Randfarbe
defaultLinkColorlineColorLinkfarbe
titleColortertiaryTextColorTitel-Farbe
edgeLabelBackgroundberechnet aus secondaryColor
nodeTextColorprimaryTextColorFarbe für Text in Knoten

Sequenzdiagrammvariablen

VariableStandardwertBeschreibung
actorBkgmainBkgHintergrundfarbe des Darstellers
actorBorderprimaryBorderColorRandfarbe des Darstellers
actorTextColorprimaryTextColorTextfarbe des Darstellers
actorLineColoractorBorderLinienfarbe des Darstellers
signalColortextColorSignalfarbe
signalTextColortextColorSignalfarbe
labelBoxBkgColoractorBkgHintergrundfarbe der Beschriftungsbox
labelBoxBorderColoractorBorderRandfarbe der Beschriftungsbox
labelTextColoractorTextColorTextfarbe der Beschriftung
loopTextColoractorTextColorSchleifen-Textfarbe
activationBorderColorberechnet aus secondaryColorAktivierungsrandfarbe
activationBkgColorsecondaryColorAktivierungshintergrundfarbe
sequenceNumberColorberechnet aus lineColorFarbsequenznummer

Kuchendiagrammvariablen

VariableStandardwertBeschreibung
pie1primaryColorFüllung für 1. Abschnitt im Kuchendiagramm
pie2secondaryColorFüllung für 2. Abschnitt im Kuchendiagramm
pie3berechnet aus tertiaryFüllung für 3. Abschnitt im Kuchendiagramm
pie4berechnet aus primaryColorFüllung für 4. Abschnitt im Kuchendiagramm
pie5berechnet aus secondaryColorFüllung für 5. Abschnitt im Kuchendiagramm
pie6berechnet aus tertiaryColorFüllung für 6. Abschnitt im Kuchendiagramm
pie7berechnet aus primaryColorFüllung für 7. Abschnitt im Kuchendiagramm
pie8berechnet aus primaryColorFüllung für 8. Abschnitt im Kuchendiagramm
pie9berechnet aus primaryColorFüllung für 9. Abschnitt im Kuchendiagramm
pie10berechnet aus primaryColorFüllung für 10. Abschnitt im Kuchendiagramm
pie11berechnet aus primaryColorFüllung für 11. Abschnitt im Kuchendiagramm
pie12berechnet aus primaryColorFüllung für 12. Abschnitt im Kuchendiagramm
pieTitleTextSize25pxTiteltextgröße
pieTitleTextColortaskTextDarkColorTiteltextfarbe
pieSectionTextSize17pxTextgröße der einzelnen Abschnittsbeschriftungen
pieSectionTextColortextColorTextfarbe der einzelnen Abschnittsbeschriftungen
pieLegendTextSize17pxTextgröße der Beschriftungen im Diagrammlegend
pieLegendTextColortaskTextDarkColorTextfarbe der Beschriftungen im Diagrammlegend
pieStrokeColorblackRandfarbe der einzelnen Kuchensegmente
pieStrokeWidth2pxRandbreite der einzelnen Kuchensegmente
pieOuterStrokeWidth2pxRandbreite des äußeren Kreises des Kuchendiagramms
pieOuterStrokeColorblackRandfarbe des äußeren Kreises des Kuchendiagramms
pieOpacity0.7Opazität der einzelnen Kuchensegmente

Zustandsfarben

VariableStandardwertBeschreibung
labelColorprimaryTextColor
altBackgroundtertiaryColorWird als Hintergrund in tiefen zusammengesetzten Zuständen verwendet

Klassenfarben

VariableStandardwertBeschreibung
classTexttextColorFarbe des Textes in Klassendiagrammen

Benutzerreise-Farben

VariableStandardwertBeschreibung
fillType0primaryColorFüllung für 1. Abschnitt im Reisediagramm
fillType1secondaryColorFüllung für 2. Abschnitt im Reisediagramm
fillType2berechnet aus primaryColorFüllung für 3. Abschnitt im Reisediagramm
fillType3berechnet aus secondaryColorFüllung für 4. Abschnitt im Reisediagramm
fillType4berechnet aus primaryColorFüllung für 5. Abschnitt im Reisediagramm
fillType5berechnet aus secondaryColorFüllung für 6. Abschnitt im Reisediagramm
fillType6berechnet aus primaryColorFüllung für 7. Abschnitt im Reisediagramm
fillType7berechnet aus secondaryColorFüllung für 8. Abschnitt im Reisediagramm