【语法】【Plantuml】思维导图基础语法

思维导图简介

基本语法与结构

PlantUML 思维导图的基本结构由 @startmindmap@endmindmap 标记定义。节点层级则通过星号 * 的数量来表示。

plantuml 复制代码
@startmindmap
* 中心主题
** 一级分支1
*** 二级分支1.1
*** 二级分支1.2
** 一级分支2
*** 二级分支2.1
@endmindmap

你也可以使用 +- 来创建新分支,符号的数量表示层级关系。

思维导图样式定制

为了让思维导图更美观,PlantUML 提供了丰富的样式定制选项。

颜色设置

为整个节点或特定节点设置颜色:

plantuml 复制代码
@startmindmap
*[#Orange] 中心主题
**[#lightgreen] 一级分支1
***[#FFBBCC] 二级分支1.1
***[#lightblue] 二级分支1.2
**[#lightgreen] 一级分支2
@endmindmap

样式块定义

通过 <style> 块,你可以定义更精细和可复用的样式:

plantuml 复制代码
@startmindmap
<style>
mindmapDiagram {
  FontName "SimHei, Microsoft YaHei, WenQuanYi Micro Hei"  /* 设置字体 */
  RoundCorner 10  /* 圆角 */
  shadowing 2.0   /* 阴影 */
}
rootNode {
  FontSize 20
  FontColor #FFFFFF
  BackgroundColor #DC143C  /* 中心主题颜色 */
}
firstlevel>node {
  BackgroundColor #FFEBEE  /* 一级分支背景色 */
}
secondlevel>node {
  BackgroundColor #FFFFFF  /* 二级分支背景色 */
}
</style>
* 中心主题
** 一级分支
*** 二级分支
@endmindmap

去除节点外边框

在节点文本前加上下划线 _ 可以去除该节点的外边框:

plantuml 复制代码
@startmindmap
* 中心主题
** 一级分支
***_ 无边框的子节点
@endmindmap

思维导图高级功能

多行内容表示

对于需要多行文本的节点,可以使用 : 开始,; 结束。注意,目前若要使用 :; 本身作为内容,只能用 * 新建分支。

plantuml 复制代码
@startmindmap
* 多行内容示例
**: 这是一个多行节点;
   这是第二行内容;
   这是第三行内容;
@endmindmap

添加图标

PlantUML 支持使用语法 <&ICON_NAME> 在节点中添加图标。

plantuml 复制代码
@startmindmap
* 图标示例
** <&heart> 带爱心的节点
** <&star> 带星星的节点
@endmindmap

使用列表

你可以在节点中创建列表:

plantuml 复制代码
@startmindmap
* 列表示例
**:
*** 无序列表
** * 项目一
** * 项目二
**:
*** 有序列表
** # 第一项
** # 第二项
;
@endmindmap

生成思维导图

编写好 PlantUML 代码后,你可以通过以下方式生成思维导图图片:

  1. 在线生成:访问 http://www.plantuml.com/plantuml/,将代码粘贴到文本框,图片会自动生成。
  2. 本地生成
    • 安装 Visual Studio Code。
    • 在 VS Code 的扩展商店中搜索并安装 "PlantUML" 插件。
    • 新建一个 .puml.wsd 文件,粘贴代码。
    • 按下 Alt + D (Windows/Linux) 或 Opt + D (macOS) 即可预览。

思维导图实践建议

  • 先规划结构:在开始编写代码前,最好先规划好思维导图的整体结构和层级,这能让你更高效地编写 PlantUML 代码。
  • 保持简洁:尽量避免过于复杂的嵌套,确保思维导图的清晰度和可读性。
  • 样式复用:对于一系列风格统一的思维导图,可以定义通用的样式块,方便复用和维护。
  • 版本控制:由于 PlantUML 文件是纯文本,非常适合用 Git 等版本控制系统进行管理,可以追踪思维导图的变更历史。

--

相关推荐
丝斯20117 小时前
AI学习笔记整理(50)——大模型中的Graph RAG
人工智能·笔记·学习
一允7 小时前
Git学习记录
git·学习
崇山峻岭之间7 小时前
Matlab学习记录37
android·学习·matlab
开开心心_Every7 小时前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
崇山峻岭之间7 小时前
Matlab学习记录38
学习
小+不通文墨8 小时前
“超声波测量声速”实验报告
经验分享·笔记·学习·学习方法
wubba lubba dub dub7509 小时前
第三十三周 学习周报
学习·算法·机器学习
PinoLio9 小时前
鲁班猫烧录镜像win10平台
嵌入式·鲁班猫
代码游侠9 小时前
复习——ARM Cortex-A 裸机开发深度解析
arm开发·笔记·嵌入式硬件·学习·架构