Github 什么时候支持画流程图了??

简介: 大家好,我是零一,昨晚在逛 Github 时,看到了一个没见过的东西

大家好,我是零一,昨晚在逛 Github 时,看到了一个没见过的东西


268ca9fff5fb94b0befa94cb2febf5b9.png


本以为这是张图,但我鼠标移过右上角的图标时竟然发现可以点击,woc,这个不是图片啊,竟然是个流程图,Github 支持流程图语法了???咱就是说这一整个大惊喜住,Github 的 Markdown 竟然支持画流程图了!!


以前 Github 的 README.md 里的流程图都是这样的👇


d44f6e1f8fffeb04194b9e5d6ce47e17.png


没错,这就是一张图片!咱们的流程图都是用其它工具(推荐一个常用的画流程图工具:https://app.diagrams.net/)画好再截图放到 Github 里的


万一万一哪一天我需要修改流程图,我不可能重画一张,我得保留着上次画的流程图的源文件,然后在那上面修改,再截图上传到 Github 上,这这这太麻烦了,谁让 Github 之前不支持画流程图呢!


不过就在这周一,Github 竟支持画流程图了!!这也是与一个开源库 Mermaid[1] 的维护者 Knut Sveidqvist[2] 合作后做出的改动,Mermaid 很多人应该都不陌生了,一个在 Github 狂揽 43.5k star 的开源库,专门支持了在 Markdown 画流程图,很多尝试过做一个属于自己的 Markdown 编辑器的小伙伴应该都用过这个,据我所知,CSDN 的 Markdown 编辑器掘金的 Markdown 编辑器 都用了这个库


Mermaid 支持了很多很多不同的图表类型,例如流程图甘特图UML饼图 等等


d9bc3ce04d93fce95e4c015f8db033a8.png


tql,此时我只想说,以后在 Github 上我哪还需要去用别的软件画图啊,费尽心思地构思如何画图,注重逻辑的同时还要注重美观(以前写文章的时候,画图真的浪费了很多时间,没办法我有强迫症,会经常调整图的布局)


话不多说,我马不停蹄地去 Github 尝鲜了这个功能


来看一个最基本的流程图的语法:


```mermaid
  graph TD;
      A-->B;
      A-->C;
      B-->D;
      C-->D;
```


在 Github 中的表现是这样的:


d635f86c2e72959530bd9633f48d47e3.jpg


舒服~ 还有预览功能,可以复制每个节点上的文本,这不比纯图片的流程图香多了么?


更多的 mermaid 语法在这里不就展开讲了,大家可以去 mermaid 官网[3] 查看更多详细的语法,爱写作的小伙伴一定用得到~


最后发现一个小彩蛋,我在 Github 里输入完流程图的原始语法代码后点击 Preview 预览,这个流程图的渲染还有个 Loading 过程,打开 devtool 一看,这一个流程图竟然就是一个 iframe


fa41eecc9d6e639f78374df5636ed599.jpg


这是什么操作?翻阅了 Github 官方的博客,这么做主要是为了:


  1. 减轻 JavaScript 对服务器的压力


  1. 减少图表过多时,将编译好的 Markdown 数据发送到客户端的数据开销


  1. 用Iframe就可以使得流程图的加载不会对 Github 造成任何的影响


还在等啥呢?还不去你的 Github 上试试?奥不不不,点个 在看 再走吧~

相关文章
|
安全 Java 测试技术
Github如何使用详细介绍
一、Github如何搜索 例如搜索:“Java教学”不用登录即可搜索。 搜索结果可以看到很多优秀的开源项目,还能看到每个都有不同的收藏量。
110 0
|
SQL Kubernetes 算法
GitHub上有哪些好项目?GeaFlow图计算快速上手之SSSP算法
本文介绍了实时图计算引擎GeaFlow支持图算法SSSP的基本原理以及在GeaFlow中的实现细节和使用方式。
GitHub上有哪些好项目?GeaFlow图计算快速上手之SSSP算法
|
Shell 网络安全 开发工具
Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)(二)(详解)
Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)(二)(详解)
1405 2
Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)(二)(详解)
github:代码修改合并工作流程笔记
github:代码修改合并工作流程笔记
118 0
|
开发工具 git
【GitHub】从0开始搭建GitHub环境系列之四——编码并提交GitHub
【GitHub】从0开始搭建GitHub环境系列之四——编码并提交GitHub
142 0
|
网络虚拟化
安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
|
存储 网络安全 开发工具
Jyputer 项目工程设置Github同步,本地代码上传Github实例演示
Jyputer 项目工程设置Github同步,本地代码上传Github实例演示
334 0
Jyputer 项目工程设置Github同步,本地代码上传Github实例演示
|
数据可视化 开发工具 uml
Markdown 拓展:Gitlab/Github 开启 UML 图支持
为什么需要它 一些可视化工具再给我们带来直观性的同时,也增加了操作的难度,需要精细地调整组件的大小和样式,更多的时候,我们不是为了写一份漂亮的报告而画流程图,只是需要便捷地向他人分享自己的 idea,在这样的需求下,代码生成流程图显然更适合。
852 0
|
存储 应用服务中间件 网络安全
基于GitHub Actions 设计博文发布工作流
最近写了几篇文章,想对每次编写的文档做个版本控制。想到了Github, 将所有的文档备份到Github。不想每次手动运行hugo 编译和发布脚本,于是就有了下面的GithubActions工作流。借助GitHubActions完成对博客文章的自动化发布部署。
280 0
基于GitHub Actions 设计博文发布工作流
|
人工智能 Linux Android开发