Docsify支持Markdown多种流程图
文章目录
- 目标
- 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多种流程图相关推荐
- 印象笔记终于支持Markdown了 !你还会再用其他笔记吗?
Markdown 是什么? Markdown 是一种轻量级的「标记语言」,创始人为约翰·格鲁伯,用简洁的语法代替排版,目前被越来越多的知识工作者.写作爱好者.程序员或研究员广泛使用.其常用的标记符号不 ...
- 使用Docsify搭建Markdown文件服务器
使用docsify快速生成文档网站 1. 概述 2. 安装 docsify-cli 工具 3. 初始化项目 4. 本地预览 5. 多页文档 6. 定制导航栏 6.1 在index.html中添加导航栏 ...
- 印象笔记(evernote)支持MarkDown语法
2018.12.26 重大更新 Windows 6.16.6 版本已经开始支持 Markdown 了,更新说明如下: Windows 6.16.6 版本发版说明 说明:印象笔记 6.16.6.475 ...
- 打造VS Code(支持Markdown/UML/脑图/代码模板)
文章目录 Markdown 脑图 UML MD 中插入 UML 代码模板 mermaid 语法 小结 Visual Studio Code是一个文本编辑器,除了写代码和编辑普通文本外,借助插件还可以实 ...
- 让小程序完美支持Markdown,最详细教程来了
最近在做需要展示文章详情的功能,详情打算用Markdown展示,发现微信小程序在支持Markdown方面不是很友好,小蛋我无意中发现一个好用的组件,Towxml,完美支持Markdown,下面就带大家 ...
- 支持markdown的服务器,Algernon:支持Lua,Markdown,HTTP/2的全功能Web服务器
最新HTTP/2标准已经发布,是基于谷歌QUIC的技术升级而成.虽然标准已经发布,但是目前还鲜有应用支持,那么有没有方法进行技术尝鲜呢?答案是肯定的.本文虫虫给大家介绍一个Golang Web服务器应 ...
- 想有自己的博客吗?浏览器支持 MarkDown和语法高亮的最简单示例(使用markdown-it、highlight.js和mermaid)
MarkDown,写作神器,还是有必要掌握一下.写作也是一种很重要的能力,需要长久坚持和锻炼. 写作能力重不重要?语文重不重要?读书重不重要? 我觉得语文和写作能力是所有能力的基础,是重中之重.因为你 ...
- 支持markdown的服务器,Vuejs中使用markdown服务器端渲染的示例
啊哈,又是来推荐一个 vuejs 的 package,miaolz123/vue-markdown. 对应的应用场景是:你想使用一个编辑器或者是在评论系统中支持 markdown.这个 package ...
- Towxml 3.0来了,让小程序完美支持Markdown
Towxml 3.0来了,让小程序完美支持Markdown 查看全文 http://www.taodudu.cc/news/show-805307.html 相关文章: 数据接口的登录态校验以及JWT ...
- Linux系统里让vim支持markdown格式的语法高亮
Markdown是深受程序员喜爱的一个文件格式. 然而Linux里默认的vim设置,并不支持markdown格式的语法高亮显示. 下面就来介绍如何设置使得markdown格式的文件在vim里也能享有语 ...
最新文章
- ROS之用程序设定导航目标点
- bzoj 4602: [Sdoi2016]齿轮
- 在博客园写了一年博客,收获的不仅仅是写作技能——我能一直保持积极的学习和工作态度...
- leetcode 226. 翻转二叉树
- c语言对齐方式研究笔记
- UA MATH571B 试验设计III 单因素试验设计3
- 正则替换让一部分内容保持不变
- git为私有仓库设置密码_dnf仓库密码设置不跳出 dnf仓库密码设置流程
- burp过期了,换一个
- 决策树 算法原理及代码
- 同包类 和 其他类 java_关于继承:为什么Java中的“protected”修饰符允许访问同一个包中的其他类?...
- 牛掰本机限速软件appband
- java读取日志_Java实时监控日志文件并输出的方法详解
- 自动化设计-框架介绍 TestSnap
- java栈匹配括号_使用到栈结构的一个表达式括号匹配检查类
- PHP程序员简历模板
- 计算机在条形码的应用,条码应用
- xul 和xml区别_使用Atom XML和Firefox XUL实施Web剪切和粘贴
- 惊爆:普通人也能监听你MSN聊天(转)
- 微信接入验证 php,php版微信公共平台开发者认证实例