typora语法_Typora笔记之绘图综述

前言

本文将就如何利用Typora在md文档中直接通过代码实现绘图的学习体会进行分享,希望能对感兴趣的朋友有所帮助。

本次分享的内容如下:

前言

1. Typora代码绘图简介

2. 绘制流程图概述

2.1 利用flow代码块绘制流程流程图

2.2 利用mermaid代码块绘制流程图

3. 绘制序列图概述

​ 3.1 利用sequence代码块绘制序列图

​ 3.2 利用mermaid代码块绘制流程图

4. 绘制类图概述

5. 绘制状态图概述

6. 绘制实体关系图概述

7. 绘制甘特图概述

8. 绘制饼图概述

9. 绘制用户旅程图概述

结尾

参考资料


1. Typora代码绘图简介

一、背景

Markdown作为一种轻量级的标记语言,由于其“易读易写、纯文本格式编写、语法简单、容易上手”的特性,已经得到非常广泛的应用,尤其是深受开发人员和学生群体的钟爱,他们会利用Markdown编辑器来撰写技术类md文档(技术博客、技术文档、学习笔记等)。

当在我们撰写技术类md文档时,有时会遇到需要在文档中展示一些特定图(如:流程图、序列图、类图、状态图、甘特图、饼图等),比较常见的传统实现方式是在文档中插入图片文件。其实现步骤大致如下:

- Step1:找到并安装好一个绘图软件;

- Step2:利用该绘图软件绘制好符合要求的图;

- Step3:导出该图的图片文件(如png格式),并存放在可访问的指定位置;

- Step4:在md文档中插入该图的图片文件(访问路径);

- Step5:对md文档中该图片文件的显示位置和显示比例根据需要进行相应调整;

- Step6:保存md文件,至此达成目标。

可以看出,这种传统实现方式存在一些不足:操作步骤比较繁琐;实现效率较低;尤其是当涉及图的数量较多时,会导致整体md文档的文件数量增多、总文件大小增大;如果是撰写技术博客,还会涉及到这些图片文件的网络存储及访问带来的问题。

有没有一种可以克服传统实现方式的一些不足的新的实现方式呢?回答是肯定的,因为Markdown扩展语法是支持在md文档中直接通过代码绘制特定类型图的。


二、Typora代码绘图介绍

Typora就是一款能较好支持代码绘图的Markdown编辑器。它非常好用、功能强大,集成了 Markdown绘图扩展,支持在md文档中直接通过代码来绘制流程图、序列图、类图、状态图、实体关系图、甘特图、饼图、用户旅程图等图。

注:建议采用最新版本的Typora,支持绘图更为完善。

Typora代码绘图的操作步骤是:

- Step1:在md文档指定位置插入一段绘图代码块,该代码块经渲染后即可展示相应图;

- Step2:保存该md文件即可。

很明显,代码绘图方式操作更为简单、实现效率更高、不需要额外的绘图软件、md文档文件大小较小、不涉及图片文件的保存和访问问题。虽然目前支持的代码绘图的类型还不多,但相信随着技术的发展,会越来越趋于完善,得到更广泛的应用。


三、Typora代码绘图的实现方式

Typora代码绘图的通用语法如下:

93895cf5a365a2e5d28b1f47e0188599.png

Typora目前支持如下三类代码块来绘制并展示图:

5e5c34e3bb7ad93122b198e4f4531f71.png

注1:目前最新版本(v0.9.92beta)的Typora已经支持最新版本(v8.5.2)的mermaid,支持的mermaid图类型包括:流程图、序列图、类图、状态图、实体关系图、甘特图、饼图、用户旅程图等。


四、Typora软件绘图设置

要使 Typora 支持代码绘图,需要对 Typora 软件进行相应设置:从 Typora 的【文件】-【偏好设置...】-【Markdown】-【 Markdown扩展语法】下启用 图表 (序列图、流程图和Marmaid图) 复选项(如下图示),并重启 Typora 生效。

805b27ca2e31ccda5b472825451bef73.png

注:当 Typora 将 Markdown 文档导出为 HTML、PDF、epub、docx 文件格式时,相关渲染图也将包括在内;但是当 Typora 将 Markdown 导出为当前版本的其他文件格式时,相关渲染图将不包括在内。


2. 绘制流程图概述


2.1 利用flow代码块绘制流程图概述


一、整体语法及说明

利用 flow代码块 绘制流程图(Flowchart Diagrams)的整体语法如下:

6923db1af966ea7cd4de5c65df8dfc09.png

说明:上述 flow代码块 会自动被 flowchart.js 解析和渲染。


二、样例

样例代码如下:

8ff529bfc236816bee2ed3584e69484e.png

flowchart.js 解析和渲染后的流程图效果如下:

b4e45535566a85c2a8b0ceae89f50f04.png

2.2 利用mermaid代码块绘制流程图概述


一、整体语法及说明

利用 mermaid代码块 绘制流程图(Flowchart Diagrams)的整体语法如下:

3c05703725b6c6d87d33378e2daf4605.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

6d9e97d696583c84f7ba5767c5a007ea.png

mermaid 解析和渲染后的流程图效果如下:

dc1e1a1abaf8f3f8a97982248f8568bd.png

3. 绘制序列图概述


3.1 利用sequence代码块绘制序列图概述


一、整体语法及说明

利用 sequence代码块 绘制序列图(Sequence Diagrams)的整体语法如下:

80a54b486c06b33729740fbdb7c8b205.png

说明:上述 sequence代码块 会自动被 js-sequence 解析和渲染。


二、样例

样例代码如下:

40112e3369db19eb5a02865bb8fb2127.png

js-sequence 解析和渲染后的序列图效果如下:

bbcc56239270b7ce5191377658172104.png

3.2 利用mermaid代码块绘制序列图概述


一、整体语法及说明

利用 mermaid代码块 绘制序列图(Sequence Diagrams)的整体语法如下:

fdbe7cf80f1f15a07a4786de0e82e2c2.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

1f88b2261ef674e42ce560f76ec5025e.png

mermaid 解析和渲染后的序列图效果如下:

60c597a1f93837b92ab9ef48bee33cc3.png

4. 绘制类图概述


一、整体语法及说明

利用 mermaid代码块 绘制类图(Class Diagrams)的整体语法如下:

cb0d755f1702c083fb46111319d24bfa.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

63043c5d45394fe0ede2f9157fdf695f.png

mermaid 解析和渲染后的类图效果如下:

14952ac43e53a2d6184266cb2e43a68e.png

5. 绘制状态图概述


一、整体语法及说明

利用 mermaid代码块 绘制状态图( State Diagrams)的整体语法如下:

6c3ecb6bbeb17292d08fbd2baee92e78.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

31aa0db50c132392d9f2a317c8f44bb6.png

mermaid 解析和渲染后的状态图效果如下:

885322d0baa808413099618799ee1df4.png

6. 绘制实体关系图概述


一、整体语法及说明

利用 mermaid代码块 绘制实体关系图(Entity Relationship Diagrams)的整体语法如下:

75b521b7fa1c9e749cb0c20412928a12.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

3605308703c7bdf61df4cc0412cf8fd8.png

mermaid 解析和渲染后的实体关系图效果如下:

34ca990ea208cd9fb059ba5348de7dfe.png

7. 绘制甘特图概述


一、整体语法及说明

利用 mermaid代码块 绘制甘特图(Gantt Diagrams)的整体语法如下:

7d30494914f31115caa4fd6d9fbebe3b.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

cf8196c2e64c2e43b5fcbf9a5316e40e.png

mermaid 解析和渲染后的甘特图效果如下:

7b682b163d32556254a278020c909cdb.png

8. 绘制饼图概述


一、整体语法及说明

利用 mermaid代码块 绘制饼图(Pie Chart Diagrams)的整体语法如下:

1ffa9f2666cf74f089e699697d3c54e9.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

72f4bccfbbcbffda998908bf3c7c0c9e.png

mermaid 解析和渲染后的饼图效果如下:

03546b393334451bf0a568cdb3972484.png

9. 绘制用户旅程图概述


一、整体语法及说明

利用 mermaid代码块 绘制用户旅程图(User Journey Diagrams)的整体语法如下:

b6de0742b890358aff87c152c315a136.png

说明:上述 mermaid代码块 会自动被 mermaid 解析和渲染。


二、样例

样例代码如下:

faa8bc294648a756cd5ae401b0e1fa20.png

mermaid 解析和渲染后的用户旅程图效果如下:

a1464a2354c0805320f1106230fd8152.png

结尾

通过上面内容的介绍,相信感兴趣的朋友们已经对利用Typora在md文档中直接通过代码绘图有了一个整体的概念和印象,后续我将会针对绘制不同类型的图逐一进行详细介绍,敬请大家关注后续文章!

本文为原创,是我在头条上发布的第一篇文章,如果文章对您有所帮助,喜欢的话就点个赞加关注支持一下哈:) 如果有问题也可以评论私聊我,我会尽力给予回复。


参考资料

撰写本文参考了如下资料:

2d9055542491edf15f68e220475b7bdb.png
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值