VScode+AsciiDoc
设计文档我们平常写文档,最常见的便是 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… : 事实上大部分轻量级的标记语言语法都较为类似,所以这场抉择很大程度上是使用范围、功能、兼容性、扩展性等多方面的比赛,这也是我为什么不选择这些语言的原因。
VScode
插件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
绘图基于
Draw.io VS Code Integration
插件,可以把drawio
绘图插入到 `AsciiDoc`中,详见工程中示例
具体实现
安装 Draw.io VS Code Integration
插件,基于此工程更顺利,已内置好配置
在目录中建立 .drawio.svg
或 .drawio.png
文件,如:test.drawio.svg
双击打开便可以自由绘图, 与 `drawio`在线绘图或本地客户端绘图效果一样,无法这样是直接保存为图片模式
在 AsciiDoc
中 使用引用图片语法即可,如:
Excalidraw
白板
Excalidraw
可以自由绘图,相比较Draw.io
更自由一点,`Draw.io`更专业,都有自己的独特之处,选择适合自己的更重要基于
Excalidraw
插件,可以自由绘图并插入到 `AsciiDoc`中,详见工程中示例
具体实现
** 安装`Excalidraw`插件,基于此工程更顺利,已内置好配置
在目录中建立 .excalidraw.svg
或 .excalidraw.png
文件,如:test.excalidraw.svg
双击打开便可以自由绘图
在 AsciiDoc
中 使用引用图片语法即可,如:
PlantUML
`UML`绘图语法详见 [PlantUML](https://plantuml.com/zh/)
基于
PlantUML`插件进行编辑 `UML
,如果离线操作需要安装`Java` 相关驱动,基于此工程更顺利,已内置好相关配置,在线服务
puml
或者plantuml
代码块中的内容将会被PlantUML
渲染。完整 的
AsciiDoc PlantUML
示例 详见index.adoc
Mermaid
绘图官网[Mermaid](https://mermaid.js.org/) >
Mermaid
是一个基于 JavaScript 的图表和图表工具,相比较`PlantUML`更友好,选择适合自己的即可,不满足需求可两者结合使用安装`Markdown Preview Mermaid Support`和
Mermaid Markdown Syntax Highlighting
插件
mermaid
代码块中的内容将会渲染mermaid
图像。完整 的
Markdown Mermaid
示例 详见index.adoc
WaveDrom
绘图官网 [WaveDrom](https://wavedrom.com/)
wavedrom
代码块中的内容将会被WaveDrom
渲染。完整 的
AsciiDoc WaveDrom
示例 详见index.adoc
GraphViz
绘图官网[GraphViz](https://viz-js.com/)
viz
或者dot
代码块中的内容将会被Viz.js
渲染。 你可以通过{engine="…"}
来选择不同的渲染引擎。 引擎circo,dot,neato,osage
,或者twopi
是被支持的。默认下,使用dot
引擎。完整 的
AsciiDoc GraphViz
示例 详见index.adoc
Vega
和 Vega-lite
图表官网[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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。