主要需求
关于Markdown编辑器的事情,其实已经更换过好多了,因为完全找不到好用的,目前的诉求如下:
a. 支持PlantUML语法。——目前这个诉求已经挤到第一位了,因为在工作中画图的场景实在是太多了,当前主要工作是做架构设计,大量的文档要写。
b. 支持自动生成标题的序号,默认的Markdown语法的标题是不含序号的。
c. 支持自动生成目录的语法
d. 支持嵌入代码,代码支持各种语言的语法高亮
e. 支持使用<font>,<br>等HTML标签
f. 支持Latex语法。
语法参考
针对Markdown编写过程中常用的各种语法,因为年纪大了也会经常忘记,常常需要查阅资料,主要资料如下:
- Markdown语法参考 https://www.jianshu.com/p/191d1e21f7ed
- PlantUML语法参考 http://plantuml.com/zh/
- Latax语法参考 https://www.jianshu.com/p/5fe5e4d33a41
VSC配置
最终我使用了Visual Studio Code,点击这里下载。安装后,还需要在VSC的Extension中安装一些插件来丰富这些功能,目前安装的包括:
- Markdown All In One——主要的Markdown增强插件,该插件已经实现了上述#a,#c,#d,#e,#f功能。
- Markdown Preview Enhanced——用于在VSC中预览Markdown效果,默认的预览效果比较差,而且也不支持目录。而且这个插件也支持导出为PDF
PS: 前两个插件的作者都是中国人,感叹最近真是国力强大啊,各行各业都充斥着人才。。。
针对插件#1,主要增强的地方有:
- 支持[TOC]自动生成目录(略)
- 支持Latex语法(略)
- 支持嵌入代码,代码支持各种语言的语法高亮(略)
- 支持使用<font>,<br>等HTML标签(略)
- 支持PlantUML语法,使用效果为:
针对插件#2,点击这个按钮就可以启用VSC内预览功能。
这个插件可以支持内置多种高级功能,现在常用的主要就是plantUML了,毕竟其他几个画图的太丑。。。
介绍原文:
Introduction
Markdown Preview Enhanced is an extension that provides you with many useful functionalities such as automatic scroll sync, math typesetting, mermaid, PlantUML, pandoc, PDF export, code chunk, presentation writer, etc. A lot of its ideas are inspired by Markdown Preview Plus and RStudio Markdown.
https://shd101wyy.github.io/markdown-preview-enhanced/#/diagrams?id=plantuml
这里写使用PlantUML需要安装 Graphviz
You can install Graphviz (not required) to generate all diagram types.
针对插件#3,在文档中点击右键,选择Markdown Sections: Insert/Update就可以自动给每个菜单增加序号了。
导出为PDF
先选择使用Markdown Preview Enhanced插件预览,点击下面按钮:
预览后点击右键选择输出为PDF,这里可以选择多个编译器输出PDF,包括Prince、Chrome、eBook、Pandoc,最后看哪个输出效果好就行了。
--updated 2021/1/22
近期出现了画甘特图和饼图需求,plantuml不支持,可以用mermaid替换,也是脚本画图工具。语法参考:About mermaid (mermaid-js.github.io)
如果实在是图过于复杂,也可以先用draw.io画好生成矢量图svg,再嵌入到markdown中,svg可以直接编辑。地址:diagrams.net