【语法】【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 等版本控制系统进行管理,可以追踪思维导图的变更历史。

--

相关推荐
澄澈i3 小时前
CMake学习篇[2]---CMake进阶+非同级目录构建+静态库/动态库链接
c++·学习·cmake
hakuii6 小时前
机器学习相关内容
学习·感悟
有谁看见我的剑了?6 小时前
LVS虚拟调度器学习
学习·lvs
机器视觉知识推荐、就业指导7 小时前
QML学习:1.快速了解QML
qt·学习·qml
Duo1J7 小时前
【OpenGL】LearnOpenGL学习笔记25 - 法线贴图 NormalMap
笔记·学习·图形渲染·贴图·着色器
Duo1J7 小时前
【OpenGL】LearnOpenGL学习笔记26 - 视差贴图 Parallax Map
笔记·学习·图形渲染·贴图·着色器
风已经起了8 小时前
FPGA学习笔记——图像处理之亮度调节(乘法型)
图像处理·笔记·学习·fpga开发·fpga
能不能别报错8 小时前
K8s学习笔记(五) Velero结合minnio业务数据备份与恢复
笔记·学习·kubernetes
能不能别报错8 小时前
K8s学习笔记(六) K8s升级与节点管理
笔记·学习·kubernetes