打造梦幻又实用的 Mermaid 马卡龙渐变风主题 —— 技术博主必备视觉指南

在做技术内容的人都知道,图表这东西,说简单也简单,说讲究也很讲究。

一张图画得好,不光能节省大段文字,还能让读者"扫一眼就懂"。尤其像 Mermaid 这种纯文本画图工具,轻巧灵活,又不用学复杂语法,确实挺适合开发者和技术写作者。

不过,Mermaid 默认的样式说实话有点"程序员审美":功能是有的,但太素。想让图表好看点、有点风格?那就得动动它的主题配置了。

我这次整理了几套 Mermaid 主题,风格不尽相同:有适合方案汇报的"商务蓝",也有偏自然手绘的"原生态风"; 还有点"花园系"的温柔配色,甚至也准备了喜欢极简黑白风的版本。都是我平时写文章时自己调出来的,有的参考了配色网站,有的是用来配合特定 Markdown 主题的。现在整理出来分享给大家。

每套配置都转成了标准 JSON 格式,直接复制贴进去就能用,不需要额外插件。适配大部分支持 Mermaid 的平台,比如 GitHub、Notion、Obsidian,或者你自己的网站。

节点样式

Mermaid 不只可以调颜色,它支持的节点类型也挺丰富。比如标准的矩形框、判断流程的菱形框、附注、子流程等等。 你可以根据内容选择不同形状,加点区分;再配上主题色和线条样式,整个图表会比默认样式更清晰,也更有"层次感"。 像下面这样简单配个判断分支的图,看着是不是就比纯黑白顺眼多了:

css 复制代码
%%{ init: { "theme": "base", "themeVariables": { /* 将上面 JSON 复制到这里 */ } } }%%
graph LR
  A[🍓 起点] --> B((⛅ 过程节点))
  B --> C{{🎯 判断条件}}
  C -- 是 --> D>🌈 完成阶段]
  C -- 否 --> E([🧁 回退重试])
  • [] 方形,适合常规步骤,配上浅粉色背景,甜美又醒目。
  • () 圆角节点,像气泡糖般柔和,适合中间环节。
  • {{}} 菱形判断节点,带有果冻感的渐变色,强调逻辑分支。
  • > 右尖角卡片,增强重点或完成状态的视觉感。

技术博主不一定非要追求视觉设计,但在写东西时让人"愿意看完",有时候图表的舒服程度也挺关键的。希望这些主题配置,能让你的 Mermaid 图表,看着顺眼,用着顺手。

马卡龙渐变风主题 JSON 配置

这套主题基于 Mermaid 的 themeVariables,通过调整背景、文字、边框和节点颜色,营造出典型的糖果色彩氛围。

css 复制代码
{
  "theme": "base",
  "themeVariables": {
    "background": "#ffffff",
    "primaryColor": "#fbcfe8",

    "primaryTextColor": "#4b5563",
    "primaryBorderColor": "#f472b6",
    "lineColor": "#f9a8d4",
    "textColor": "#4b5563",

    "mainBkg": "#a5f3fc",
    "secondaryColor": "#fde68a",
    "tertiaryColor": "#c4b5fd",

    "nodeBorder": "#fda4af",
    "nodeTextColor": "#1f2937",


    "fontFamily": "Fira Code, JetBrains Mono, sans-serif",
    "fontSize": "15px",

    "noteBkgColor": "#fef9c3",
    "noteTextColor": "#78350f",

    "actorBkg": "#d8b4fe",
    "actorBorder": "#a78bfa",
    "sequenceNumberColor": "#f472b6",


    "classText": "#6b21a8",
    "classBackground": "#fbcfe8",

    "classBorder": "#d946ef",

    "labelBoxBkgColor": "#fef3c7",
    "labelBoxBorderColor": "#facc15"
  }
}

这段配置将 Mermaid 图表的主色调设为粉紫、天蓝、浅黄等甜美色,结合柔和的边框和文字颜色,打造和谐统一的视觉效果。

🟢 1. 复古 DOS 彩色字符风 (retro-dos)

json 复制代码
{
  "theme": "base",
  "themeVariables": {
    "darkMode": true,
    "background": "#000000",

    "primaryColor": "#00ffff",
    "primaryTextColor": "#ffffff",
    "primaryBorderColor": "#00ffff",
    "lineColor": "#ff00ff",
    "textColor": "#39ff14",
    "nodeTextColor": "#ffff00",
    "mainBkg": "#0000aa",
    "secondaryColor": "#aa00aa",
    "tertiaryColor": "#00aa00",
    "nodeBorder": "#aaaaaa",
    "fontFamily": "Courier New, monospace",
    "fontSize": "15px",
    "noteBkgColor": "#550055",
    "noteTextColor": "#ffff00",
    "actorBkg": "#005f87",

    "actorBorder": "#d7005f",
    "sequenceNumberColor": "#00d7af",
    "classText": "#ffffff",
    "classBackground": "#5f00af",
    "classBorder": "#ff5f00",

    "labelBoxBkgColor": "#005f5f",

    "labelBoxBorderColor": "#5fff00"
  }
}

🍹 2. 夏日果汁风 (summer-juice)

css 复制代码
{
  "theme": "base",
  "themeVariables": {
    "background": "#fdf6e3",
    "primaryColor": "#fcd34d",

    "primaryTextColor": "#1f2937",
    "primaryBorderColor": "#fb923c",
    "lineColor": "#f87171",
    "textColor": "#374151",
    "mainBkg": "#f9a8d4",
    "secondaryColor": "#fcd34d",
    "tertiaryColor": "#6ee7b7",
    "nodeBorder": "#f97316",
    "nodeTextColor": "#111827",
    "fontFamily": "Poppins, sans-serif",

    "fontSize": "15px",
    "noteBkgColor": "#fff7ed",
    "noteTextColor": "#78350f",
    "actorBkg": "#facc15",
    "actorBorder": "#f59e0b",
    "sequenceNumberColor": "#10b981",
    "classText": "#1e293b",

    "classBackground": "#fcd34d",
    "classBorder": "#fb923c",
    "labelBoxBkgColor": "#fde68a",
    "labelBoxBorderColor": "#fbbf24"
  }
}

🎨 3. 手绘彩笔风 (handdrawn-pastel)

css 复制代码
{
  "theme": "base",
  "themeVariables": {
    "background": "#fffaf0",
    "primaryColor": "#e0bbff",

    "primaryTextColor": "#3c3c3c",
    "primaryBorderColor": "#b388eb",
    "lineColor": "#f694c1",
    "textColor": "#444",
    "mainBkg": "#caffbf",
    "secondaryColor": "#bdb2ff",
    "tertiaryColor": "#ffd6a5",
    "nodeBorder": "#a0c4ff",
    "nodeTextColor": "#333",
    "fontFamily": "Comic Sans MS, cursive",

    "fontSize": "14px",
    "noteBkgColor": "#fdffb6",
    "noteTextColor": "#6c584c",
    "actorBkg": "#ffd6a5",
    "actorBorder": "#ffadad",
    "sequenceNumberColor": "#bdb2ff",
    "classText": "#3c3c3c",

    "classBackground": "#e0bbff",
    "classBorder": "#d291bc",
    "labelBoxBkgColor": "#fffffc",
    "labelBoxBorderColor": "#e2e2e2"
  }
}

🧊 4. 冰蓝理工风 (tech-ice)

json 复制代码
{
  "theme": "base",
  "themeVariables": {
    "darkMode": true,
    "background": "#0f172a",

    "primaryColor": "#38bdf8",
    "primaryTextColor": "#e0f2fe",
    "primaryBorderColor": "#0ea5e9",
    "lineColor": "#7dd3fc",
    "textColor": "#cbd5e1",
    "mainBkg": "#1e3a8a",
    "secondaryColor": "#64748b",
    "tertiaryColor": "#7dd3fc",
    "nodeBorder": "#60a5fa",
    "nodeTextColor": "#f0f9ff",
    "fontFamily": "JetBrains Mono, monospace",
    "fontSize": "14px",
    "noteBkgColor": "#1e40af",
    "noteTextColor": "#93c5fd",
    "actorBkg": "#0ea5e9",

    "actorBorder": "#0284c7",
    "sequenceNumberColor": "#bae6fd",
    "classText": "#e0f2fe",
    "classBackground": "#1e3a8a",
    "classBorder": "#0284c7",

    "labelBoxBkgColor": "#172554",

    "labelBoxBorderColor": "#38bdf8"
  }
}

💜 5. 紫气东来梦幻风 (ethereal-purple)

css 复制代码
{
  "theme": "base",
  "themeVariables": {
    "background": "#faf5ff",
    "primaryColor": "#e9d5ff",

    "primaryTextColor": "#4c1d95",
    "primaryBorderColor": "#c084fc",
    "lineColor": "#a78bfa",
    "textColor": "#4b0082",
    "mainBkg": "#d8b4fe",
    "secondaryColor": "#f5d0fe",
    "tertiaryColor": "#c4b5fd",
    "nodeBorder": "#c084fc",
    "nodeTextColor": "#3f3f46",
    "fontFamily": "Georgia, serif",

    "fontSize": "15px",
    "noteBkgColor": "#f3e8ff",
    "noteTextColor": "#6b21a8",
    "actorBkg": "#c4b5fd",
    "actorBorder": "#a78bfa",
    "sequenceNumberColor": "#7e22ce",
    "classText": "#4c1d95",

    "classBackground": "#e9d5ff",
    "classBorder": "#a855f7",
    "labelBoxBkgColor": "#f3e8ff",
    "labelBoxBorderColor": "#c084fc"
  }
}

如何使用

你可以在 Markdown、博客平台或者 Mermaid 在线编辑器中,通过初始化配置覆盖默认主题:

css 复制代码
%%{ init: { "theme": "base", "themeVariables": { /* 主题 JSON 配置粘贴这里 */ } } }%%
graph LR
  A[🍓 起点] --> B((⛅ 过程节点))
  B --> C{{🎯 判断条件}}
  C -- 是 --> D>🌈 完成阶段]
  C -- 否 --> E([🧁 回退重试])

如果你用的是 Mermaid API,也可以直接传入 JSON 对象做初始化。

通过这套 Mermaid 主题和多样样式节点,技术博主们不仅能让内容更具吸引力,也能帮助读者快速抓住核心流程。视觉与内容双管齐下,效果加倍!

相关推荐
大模型教程12 小时前
如何在你的业务中选择RAG和Fine tuning?
程序员·llm·agent
AI大模型16 小时前
干货分享 | 如何使用Cherry Studio快速上手AI学习实践
程序员·llm·agent
CUGGZ21 小时前
前端开发的物理外挂来了,爽到飞起!
前端·后端·程序员
SimonKing21 小时前
Xget:又一下载神器诞生!开源免费无广告,速度拉满!
java·后端·程序员
CodeSheep1 天前
稚晖君公司最新合伙人,公开了!
前端·后端·程序员
Tisfy1 天前
LeetCode 3508.设计路由器:STL套STL——有什么需求就设计什么数据结构
c++·leetcode·题解·设计·哈希表
可观测性用观测云1 天前
观测云产品更新 | 安全监测、监控器、管理、异常追踪、查看器等
产品
Data_Adventure1 天前
代码人生:一勺水,便具四海水味,世法不必尽尝
程序员
文心快码BaiduComate2 天前
一人即团队,SubAgent引爆开发者新范式
前端·后端·程序员
AI大模型2 天前
大模型提示词开发:从“简单指令”到“工程化架构”的技术跃迁
程序员·llm·agent