文章目录

  • 目标
  • docsify
    • Markdown 文档
    • 支持 mermaid
    • 支持 DOT 语言作图
    • 支持 LaTex 数学公式
    • 支持 Flow 流程图

目标

  • 实现docsify支持Markdown多种流程图

    参考:使用 docsify 并定制以使它更强大

docsify

官方文档:https://docsify.js.org/#/

docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是它不会生成静态的 .html 文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个 index.html 就可以开始编写文档并直接部署在 GitHub Pages。

Markdown 文档

一般语法docsify 都是支持的,但是对于Markdown 需要支持流程图需要加入配置才能生效,修改index.html 进行配置。

支持 mermaid

官方文档:https://docsify.js.org/#/zh-cn/markdown?id=%e6%94%af%e6%8c%81-mermaid

这个是官方上配置的,可以发现很简单。

引入支持mermaid 的css 和 js。并配置js代码。js代码的逻辑也很简单,判断语法格式是 mermaid ,就把 code (代码)使用 mermaid 的js 执行以下,拼装一个 div 加入当前页。

// Import mermaid
//  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
//  <script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>var num = 0;
mermaid.initialize({ startOnLoad: false });window.$docsify = {markdown: {renderer: {code: function(code, lang) {// 判断语言是否为 mermaidif (lang === "mermaid") {// 将div 返回return ('<div class="mermaid">' + mermaid.render('mermaid-svg-' + num++, code) + "</div>");}return this.origin.code.apply(this, arguments);}}}
}

支持 DOT 语言作图

参考:https://ld246.com/article/1553507125889

仿照官方文档对 mermaid 的支持,进行配置

<script src="https://cdn.bootcss.com/viz.js/1.8.0/viz.js"></script>if (lang === "dot") {return ('<div class="viz">'+ Viz(code, "SVG")+'</div>');
}

支持 LaTex 数学公式

<link href="https://cdn.bootcss.com/KaTeX/0.10.0/katex.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/KaTeX/0.10.0/katex.min.js"></script>if (lang === "tex") {return ('<span class="tex">'+ katex.renderToString(code, {throwOnError: false})+'</span>');
}

支持 Flow 流程图

https://github.com/adrai/flowchart.js官方地址

参考 flowchart 的例子:https://github.com/adrai/flowchart.js/blob/master/example/index.html 实现加入 flow 的语法支持

具体可以代码参考:https://github.com/gengzi/Code-animal/blob/master/index.html

  <script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.3.0/raphael.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script><script src="//cdn.bootcdn.net/ajax/libs/flowchart/1.15.0/flowchart.js"></script><script>var flownow = 0;var canvasnow = 0;window.onload = function () {for(var i = 0;i<flownow;i++){var cd = document.getElementById("gengzi_code_"+i),chart;var code = cd.value;chart = flowchart.parse(code);chart.drawSVG('canvas'+i, {// 'x': 30,// 'y': 50,'line-width': 3,'maxWidth': 3,//ensures the flowcharts fits within a certian width'line-length': 50,'text-margin': 10,'font-size': 14,'font': 'normal','font-family': 'Helvetica','font-weight': 'normal','font-color': 'black','line-color': 'black','element-color': 'black','fill': 'white','yes-text': 'yes','no-text': 'no','arrow-end': 'block','scale': 1,'symbols': {'start': {'font-color': 'red','element-color': 'green','fill': 'yellow'},'end':{'class': 'end-element'}}});}};</script>if (lang === "flow") {return ('<div><textarea id="gengzi_code_'+(flownow++)+'" style="width: 100%;display:none;" rows="11"  >' + code + "</textarea></div><div id='canvas"+(canvasnow++)+"'></div>");}

听说点赞关注的人,身体健康,一夜暴富,升职加薪迎娶白富美!!!

点我领取每日福利
微信公众号:耿子blog
GitHub地址:gengzi

Docsify支持Markdown多种流程图相关推荐

  1. 印象笔记终于支持Markdown了 !你还会再用其他笔记吗?

    Markdown 是什么? Markdown 是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符号不 ...

  2. 使用Docsify搭建Markdown文件服务器

    使用docsify快速生成文档网站 1. 概述 2. 安装 docsify-cli 工具 3. 初始化项目 4. 本地预览 5. 多页文档 6. 定制导航栏 6.1 在index.html中添加导航栏 ...

  3. 印象笔记(evernote)支持MarkDown语法

    2018.12.26  重大更新 Windows 6.16.6 版本已经开始支持 Markdown 了,更新说明如下: Windows 6.16.6 版本发版说明 说明:印象笔记 6.16.6.475 ...

  4. 打造VS Code(支持Markdown/UML/脑图/代码模板)

    文章目录 Markdown 脑图 UML MD 中插入 UML 代码模板 mermaid 语法 小结 Visual Studio Code是一个文本编辑器,除了写代码和编辑普通文本外,借助插件还可以实 ...

  5. 让小程序完美支持Markdown,最详细教程来了

    最近在做需要展示文章详情的功能,详情打算用Markdown展示,发现微信小程序在支持Markdown方面不是很友好,小蛋我无意中发现一个好用的组件,Towxml,完美支持Markdown,下面就带大家 ...

  6. 支持markdown的服务器,Algernon:支持Lua,Markdown,HTTP/2的全功能Web服务器

    最新HTTP/2标准已经发布,是基于谷歌QUIC的技术升级而成.虽然标准已经发布,但是目前还鲜有应用支持,那么有没有方法进行技术尝鲜呢?答案是肯定的.本文虫虫给大家介绍一个Golang Web服务器应 ...

  7. 想有自己的博客吗?浏览器支持 MarkDown和语法高亮的最简单示例(使用markdown-it、highlight.js和mermaid)

    MarkDown,写作神器,还是有必要掌握一下.写作也是一种很重要的能力,需要长久坚持和锻炼. 写作能力重不重要?语文重不重要?读书重不重要? 我觉得语文和写作能力是所有能力的基础,是重中之重.因为你 ...

  8. 支持markdown的服务器,Vuejs中使用markdown服务器端渲染的示例

    啊哈,又是来推荐一个 vuejs 的 package,miaolz123/vue-markdown. 对应的应用场景是:你想使用一个编辑器或者是在评论系统中支持 markdown.这个 package ...

  9. Towxml 3.0来了,让小程序完美支持Markdown

    Towxml 3.0来了,让小程序完美支持Markdown 查看全文 http://www.taodudu.cc/news/show-805307.html 相关文章: 数据接口的登录态校验以及JWT ...

  10. Linux系统里让vim支持markdown格式的语法高亮

    Markdown是深受程序员喜爱的一个文件格式. 然而Linux里默认的vim设置,并不支持markdown格式的语法高亮显示. 下面就来介绍如何设置使得markdown格式的文件在vim里也能享有语 ...

最新文章

  1. ROS之用程序设定导航目标点
  2. bzoj 4602: [Sdoi2016]齿轮
  3. 在博客园写了一年博客,收获的不仅仅是写作技能——我能一直保持积极的学习和工作态度...
  4. leetcode 226. 翻转二叉树
  5. c语言对齐方式研究笔记
  6. UA MATH571B 试验设计III 单因素试验设计3
  7. 正则替换让一部分内容保持不变
  8. git为私有仓库设置密码_dnf仓库密码设置不跳出 dnf仓库密码设置流程
  9. burp过期了,换一个
  10. 决策树 算法原理及代码
  11. 同包类 和 其他类 java_关于继承:为什么Java中的“protected”修饰符允许访问同一个包中的其他类?...
  12. 牛掰本机限速软件appband
  13. java读取日志_Java实时监控日志文件并输出的方法详解
  14. 自动化设计-框架介绍 TestSnap
  15. java栈匹配括号_使用到栈结构的一个表达式括号匹配检查类
  16. PHP程序员简历模板
  17. 计算机在条形码的应用,条码应用
  18. xul 和xml区别_使用Atom XML和Firefox XUL实施Web剪切和粘贴
  19. 惊爆:普通人也能监听你MSN聊天(转)
  20. 微信接入验证 php,php版微信公共平台开发者认证实例

热门文章

  1. 软件工程阶段性总结(四)——测试和维护
  2. ajax实现读取文件内容打印,javascript结合ajax读取txt文件内容
  3. 如何学习游戏服务器端编程和书籍推荐
  4. Docker技术之容器与外部相连
  5. 2022美亚杯第八届中国电子数据取证大赛-个人赛write up详解
  6. 一把剪刀完成iphone4剪卡
  7. 如果你的 pip 命令不能用,你可以这样解决
  8. 计算机打代码的技巧,工作超实用的电脑技巧
  9. 万网域名查询接口(API)的说明
  10. 小灵通为什么会退市?