我们平常写文档,最常见的便是 office 全套,技术人员则更倾向于 Markdown 编辑文档,当然这也是许多框架技术默认的文档编辑,今天则给大家推荐一套强大文档编辑组合
VScode+AsciiDoc
轻量级的标记语言已经有很多,例如我用来写博客的 Markdown
就是目前十分流行的一种轻量级标记语言,包括 Github
、StackOverflow
等很多网站以及个人都在使用。
Markdown
语法简洁,即便阅读未经渲染的源文件也有不错的可读性。但它对于较为复杂的格式例如表格的支持始终遭人诟病,许多网站使用各自不同的扩展语法来实现,也从而导致了各种方言的滋生。这也是为何会出现 Standard Markdown 项目的原因,虽然因为种种原因又更名为 Common Markdown,然而整个 Markdown
社区依然缺乏创建者的支持,Common Markdown
也很可能沦为另一个方言。
第一次接触到 AsciiDoc 是通过 O’Reilly
的图书,Atlas
的推荐语言就是 AsciiDoc
。那么十多种标记语言中,为什么要选择 AsciiDoc
呢?其实在选择另一种标记语言时,我做过一些简单的研究:
-
LaTex : 大名鼎鼎的
LaTex
是除了Markdown
之外我第一个投入精力学习的标记语言。不得不说LaTex
十分强大,但与这份强大伴随而来则是复杂的语法,导致了写作过程的枯燥,也让我失去了对LaTex
的兴趣。 -
reStructuredText :
REST
也是一种松散的文本结构,功能也较为全面,但书写起来更像是在写Python。
-
Org mode : 我想基本上只有
Emacs
社区的人在使用了吧。 -
Texy!,BBCode,Creole,Textile… : 事实上大部分轻量级的标记语言语法都较为类似,所以这场抉择很大程度上是使用范围、功能、兼容性、扩展性等多方面的比赛,这也是我为什么不选择这些语言的原因。
-
Asciidoc
插件asciidoctor.asciidoctor-vscode
-
Draw.io`插件 `hediet.vscode-drawio
-
Draw.io`插入`mermaid`的插件 `nopeslide.vscode-drawio-plugin-mermaid
-
Excalidraw
插件pomdtr.excalidraw-editor
-
PlantUML`插件 `jebbs.plantuml
基于
Draw.io VS Code Integration
插件,可以把drawio
绘图插入到 `AsciiDoc`中,详见工程中示例
Excalidraw
可以自由绘图,相比较Draw.io
更自由一点,`Draw.io`更专业,都有自己的独特之处,选择适合自己的更重要基于
Excalidraw
插件,可以自由绘图并插入到 `AsciiDoc`中,详见工程中示例
语法详见 [PlantUML](https://plantuml.com/zh/)
基于
PlantUML`插件进行编辑 `UML
,如果离线操作需要安装`Java` 相关驱动,基于此工程更顺利,已内置好相关配置,在线服务
puml
或者plantuml
代码块中的内容将会被PlantUML
渲染。完整 的
AsciiDoc PlantUML
示例 详见index.adoc
官网[Mermaid](https://mermaid.js.org/) >
Mermaid
是一个基于 JavaScript 的图表和图表工具,相比较`PlantUML`更友好,选择适合自己的即可,不满足需求可两者结合使用安装`Markdown Preview Mermaid Support`和
Mermaid Markdown Syntax Highlighting
插件
mermaid
代码块中的内容将会渲染mermaid
图像。完整 的
Markdown Mermaid
示例 详见index.adoc
官网 [WaveDrom](https://wavedrom.com/)
wavedrom
代码块中的内容将会被WaveDrom
渲染。完整 的
AsciiDoc WaveDrom
示例 详见index.adoc
官网[GraphViz](https://viz-js.com/)
viz
或者dot
代码块中的内容将会被Viz.js
渲染。 你可以通过{engine="…"}
来选择不同的渲染引擎。 引擎circo,dot,neato,osage
,或者twopi
是被支持的。默认下,使用dot
引擎。完整 的
AsciiDoc GraphViz
示例 详见index.adoc
官网[Vega & Vega-Lite](https://vega.github.io/)
vega
代码块中的内容将会被vega
渲染。vega-lite
代码块中的内容将会被vega-lite
渲染。JSON
以及YAML
的输入是支持的。完整 的
AsciiDoc Vega
示例 详见index.adoc
asciidoctor-vscode
vscode插件
AsciiDocor
是一个使用 Ruby
实现的 AsciiDoc
转换工具。你可以通过 gem install asciidoctor
进行安装。
asciidoctor MyDoc.adoc
asciidoctor -a stylesheet golo.css -o MyHTML.html MyDoc.adoc