use palette.nu # Generate the Mermaid palette installed into the personal Mermaid skill. def mode [mode: string] { let p = (palette nugu $mode).palette let variables = { darkMode: ($mode == "dark") background: $p.content.backdrop primaryColor: $p.ui.backdrop primaryTextColor: $p.content.normal primaryBorderColor: $p.content.accent secondaryColor: $p.ui.normal secondaryTextColor: $p.ui.backdrop secondaryBorderColor: $p.ui.accent tertiaryColor: $p.content.backdrop tertiaryTextColor: $p.content.normal tertiaryBorderColor: $p.content.unfocus mainBkg: $p.ui.backdrop nodeBorder: $p.content.accent clusterBkg: $p.ui.backdrop clusterBorder: $p.ui.accent defaultLinkColor: $p.content.unfocus lineColor: $p.content.unfocus titleColor: $p.content.accent edgeLabelBackground: $p.ui.backdrop nodeTextColor: $p.content.normal actorBkg: $p.ui.backdrop actorBorder: $p.content.accent actorTextColor: $p.content.normal actorLineColor: $p.content.unfocus signalColor: $p.content.normal signalTextColor: $p.content.normal labelBoxBkgColor: $p.ui.backdrop labelBoxBorderColor: $p.content.accent labelTextColor: $p.content.normal loopTextColor: $p.content.normal activationBorderColor: $p.content.accent activationBkgColor: $p.ui.focus noteBkgColor: $p.ui.backdrop noteTextColor: $p.content.normal noteBorderColor: $p.content.accent classText: $p.content.normal labelColor: $p.content.normal altBackground: $p.ui.backdrop } { mode: $mode colors: { background: $p.content.backdrop text: $p.content.normal accent: $p.content.accent muted: $p.content.unfocus focus: $p.content.focus error: $p.error warning: $p.warning info: $p.info } mermaid: { theme: "base" themeVariables: $variables } } } export def palette [] { { schema: 1 source: "nugu" modes: { dark: (mode dark) light: (mode light) } } | to json --indent 2 }