Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

前言


之前在文章 Typora笔记之绘图综述 中对Typora在md文档中直接通过代码绘图进行了整体描述,本文在此基础上对Typora通过flowchart.js插件实现代码绘制流程图进行详细介绍,希望能对感兴趣的朋友有所帮助。

本次分享的内容目录如下:

前言

流程图简介

Typora绘制流程图简介

flowchart.js简介

flowchart.js插件DSL语法及说明

样例

结束语

参考资料


1. 流程图简介


流程图对于开发人员和学生群体想必已经是非常熟悉了,不过为了照顾一部分对流程图尚不太了解的读者,这里做个简单介绍。

流程图(Flowchart Diagram),是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。

流程图的一些标准符号及说明如下表:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


2. Typora绘制流程图简介


2.1 Typora代码绘图原理


Typora代码绘图的实现原理

(1)用某种 DSL 描述想要画的图;

(2)调用扩展程序(解析、渲染器)对DSL进行解析并渲染后动态生成相应图。

注:DSL (Domain Specific Language,特定领域语言)是为了解决某些特定场景下的任务而专门设计的语言。


2.2 Typora代码绘制流程图实现方式

Typora代码绘制流程图可以采用flowchart.js插件mermaid插件两种方式实现。这两种方式的对比如下表所示:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

注:限于篇幅,本文只详细介绍Typora通过flowchart.js插件实现代码绘制流程图,针对Typora通过mermaid插件实现代码绘制流程图将在下一篇文章中进行详细介绍。


3. flowchart.js简介


flowchart.js是一款能在浏览器和终端中运行的流程图DSL和SVG渲染器,可以通过DSL(图的文本表示)来绘制简单的SVG流程图。换个角度表述,flowchart.js是一个用JavaScript编写的、用来绘制流程图的插件(或库)。

注:SVG(Scalable Vector Graphics,可缩放矢量图形)是一种基于XML(可扩展标记语言),用于描述二维矢量图形的图形格式。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容。SVG支持显示矢量显示对象(矩形、圆、椭圆、多边形、直线、任意曲线等)、嵌入式外部图像和文字对象。SVG图形格式支持多种滤镜和特殊效果,可以用来动态生成图形。


4. flowchart.js插件DSL语法及说明


4.1 DSL语法描述

flowchart.js插件的DSL语法如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


4.2 DSL语法整体说明

flowchart.js插件的DSL语法分为四部分:

  • flow关键字代码块部分

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

  • 定义流程图节点部分

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

  • 连接流程图节点部分

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

  • 强调流程图特定路径部分

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

注1:节点和连接是分别定义的,因此可以重复使用节点,并可以快速更改连接。

注2:流程图特定路径强调不是必要部分,为可选的。


4.3 定义节点语法说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

一、DSL中定义节点语法规则各项说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

二、节点类型补充说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


4.4 连接节点语法说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

一、DSL中连接节点语法规则各项说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

二、各类型节点说明符补充说明

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

三、方向说明符补充说明

(1)方向说明符(<direction>)定义了连接将从起始节点离开到下一个节点时的方向,例:

st(right)->op(bottom)->cond

(2)如果节点说明符不止一个,则用,加以分隔,且方向说明符总是位于最后的那个,例:

cond(no, right)

(3)除end节点外,其他类型的节点都有可选的方向说明符(<direction>)

(4)方向说明符(<direction>)共有4种走向(默认值是bottom向下):

  • top(向上)
  • bottom(向下)
  • left(向左)
  • right(向右)

4.5 强调特定路径语法说明

如果需要在流程图中强调特定路径,则可以单独进行定义。

语法规则如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

语法说明如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

示例应用:

请参见样例章节,在3个样例DSL中的最后部分,分别对需要强调的各节点之间路径(连接线)的颜色、宽度、类型进行了强调定义。


5. 样例


经过对上面flowchart.js插件DSL语法的讲解后,相信大家已经可以开始动手绘制流程图了。

下面给出几个Typora使用flowchart.js插件代码绘制流程图的样例,供大家参考。


5.1 样例1 – 简单示例流程图

样例1代码(符合flowchart.js规范定义的DSL):

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

上述DSL经flowchart.js插件解析和渲染后的流程图显示如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


5.2 样例2 – 简单示例流程图(含所有节点类型)

样例2代码(符合flowchart.js规范定义的DSL):

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

上述DSL经flowchart.js插件解析和渲染后的流程图显示如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


5.3 样例3 – 简单应用流程图

样例3代码(符合flowchart.js规范定义的DSL):

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

上述DSL经flowchart.js插件解析和渲染后的流程图显示如下:

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)


结束语


通过上面内容的介绍,相信感兴趣的朋友们已经对Typora通过flowchart.js插件实现代码绘制流程图有了一个比较深入的了解,接下来我将继续针对Typora通过mermaid插件实现代码绘制流程图进行详细介绍,敬请大家关注后续文章!

文章中难免存在疏忽或理解不到之处,如果朋友们发现问题请评论私聊我,我会尽力给予反馈。欢迎大家一起讨论学习,共同进步!

本文为原创,如果文章对您有所帮助,喜欢的话就点个赞加关注支持一下哈:)


参考资料


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

Typora笔记之绘制流程图详述(一)(typora怎么画流程图)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年7月8日 下午4:26
下一篇 2024年7月8日 下午4:38

相关推荐

  • 中建综合项目管理系统

    中建综合项目管理系统 中建综合项目管理系统是一种功能强大的项目管理软件,能够帮助项目经理和技术人员更好地管理项目进度、成本和质量。该系统涵盖了从项目计划、进度管理、资源管理、质量管…

    科研百科 2025年1月14日
    1
  • 软件开发是IT行业吗(软件开发算什么行业)

    互联网发展至今,IT行业逐步实现了对传统产业的信息化改造,成为了国家重点支持和大力发展的朝阳行业,与此同时,软件开发在其中发挥了至关重要的作用,并且与其他各行各业结合越来越紧密,那…

    科研百科 2024年5月3日
    52
  • 党建工作学习不深入

    党建工作学习不深入 党建工作是中国共产党的重要工作之一,对于提高党的执政能力和领导力,推进中国特色社会主义事业的发展具有重要作用。然而,在实践中,党建工作学习不深入的问题仍然存在。…

    科研百科 2024年10月17日
    76
  • 甘肃智慧教育平台2.0版本正式上线(甘肃智慧教育平台2.0版本正式上线了吗)

    中国青年报客户端讯(中青报·中青网记者 马富春)近日,甘肃智慧教育平台2.0版本正式上线,这是甘肃省教育数字化转型的关键性基础建设项目之一。 据介绍,该项目内容包括构建专业、精品、…

    科研百科 2024年7月8日
    29
  • 国家级科研项目一等奖

    国家级科研项目一等奖 近年来,在党中央和国务院的坚强领导下,我国科技创新取得了举世瞩目的成就。其中,一批重大科技项目取得了重要进展,成为推动我国现代化建设的重要力量。在这样的背景下…

    科研百科 2024年8月10日
    29
  • 科研项目经济分类表格

    科研项目经济分类表格 科研项目经济分类表格是一种用于描述和分类科研项目的表格,通常用于项目管理和预算编制。它可以帮助研究人员和项目管理人员更好地了解和跟踪项目的经济和财务方面的情况…

    科研百科 2025年3月27日
    2
  • 如何找老师做的科研项目

    如何找老师做的科研项目? 科研项目是科学家们进行深入研究的重要方式,也是提高自己学术水平的重要途径。如果想找老师做科研项目,以下是一些可能有用的建议: 1. 了解老师的研究方向和兴…

    科研百科 2024年12月1日
    4
  • docker项目管理

    Docker项目管理:实现快速、高效、可扩展的系统部署 随着Docker技术的普及,越来越多的企业开始采用Docker进行容器化部署,以实现快速、高效、可扩展的系统部署。但是,在实…

    科研百科 2024年8月15日
    28
  • 美术学科科研课题有哪些

    美术学科科研课题有哪些 随着时代的变迁,美术学科也在不断发展。随着科技的进步,新的课题也在不断出现。下面,我们来一起探讨一下美术学科的科研课题。 1. 人工智能在美术领域的应用随着…

    科研百科 2024年12月8日
    0
  • 【旗帜】卢建军:构建高质量党建工作体系引领推动学校事业高质量发展

    西安交通大学党委坚持以习近平新时代中国特色社会主义思想为指导,认真学习贯彻习近平总书记关于党的建设的重要思想,全面贯彻落实习近平总书记来陕来校考察重要讲话精神,坚持和加强党对学校工…

    科研百科 2024年5月29日
    46