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 上试试?奥不不不,点个 在看 再走吧~

相关文章
|
9月前
|
数据采集 并行计算 JavaScript
实战指南:在 Node.js 中利用多线程提升性能
在 Node.js 的世界中,多线程技术一直是一个受到广泛关注的领域。最初,Node.js 设计为单线程模式。随着技术发展,Node.js 引入了多线程支持,进而利用多核处理器的强大性能,提升了应用性能。接下来的内容将深入探讨 Node.js 如何实现多线程,以及在何种场合应该采用这种技术。
|
前端开发 JavaScript
前端使用fingerprintjs2获取浏览器指纹
前端使用fingerprintjs2获取浏览器指纹
2674 0
|
6月前
|
人工智能 JavaScript Go
介绍 Agency: 使AI与Go语言无缝对接
介绍 Agency: 使AI与Go语言无缝对接
|
9月前
|
移动开发 前端开发
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
306 0
|
4月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
82 0
|
9月前
|
弹性计算 移动开发 前端开发
html兼容性问题都有什么;如何解决
html兼容性问题都有什么;如何解决
119 2
|
9月前
|
存储 监控 NoSQL
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
318 0
|
9月前
|
机器学习/深度学习 存储 人工智能
如何在本地部署视觉AI系统呢
如何在本地部署视觉AI系统呢
|
Java Shell API
实战教程:如何将自己的Python包发布到PyPI上
实战教程:如何将自己的Python包发布到PyPI上
2890 0
实战教程:如何将自己的Python包发布到PyPI上
Charles 如何扑获 curl 和 Postman 请求 #66
Charles 如何扑获 curl 和 Postman 请求 #66
445 1

热门文章

最新文章