1 Star 2 Fork 0

杭杭/Asciidoctor-VSCode-Template

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

使用 VScode+AsciiDoc 设计文档

我们平常写文档,最常见的便是 office 全套,技术人员则更倾向于 Markdown 编辑文档,当然这也是许多框架技术默认的文档编辑,今天则给大家推荐一套强大文档编辑组合 VScode+AsciiDoc

关于

轻量级的标记语言已经有很多,例如我用来写博客的 Markdown 就是目前十分流行的一种轻量级标记语言,包括 GithubStackOverflow 等很多网站以及个人都在使用。

VScode

作为一个强大的开发工具编辑器,支持所有语言开发,插件生态丰富到无法想象,直接作为前端开发的首选利器,不必详细介绍。

Markdown 还不够吗

Markdown 语法简洁,即便阅读未经渲染的源文件也有不错的可读性。但它对于较为复杂的格式例如表格的支持始终遭人诟病,许多网站使用各自不同的扩展语法来实现,也从而导致了各种方言的滋生。这也是为何会出现 Standard Markdown 项目的原因,虽然因为种种原因又更名为 Common Markdown,然而整个 Markdown 社区依然缺乏创建者的支持,Common Markdown 也很可能沦为另一个方言。

md standards
Figure 1. Markdown Standards

AsciiDoc

Java 社区随处可见 AsciiDoc 文档,spring 家族许多文档都是 AsciiDoc 编写,语法与 Markdown 类似,但比后者支持更多技巧。

为什么选择 AsciiDoc

第一次接触到 AsciiDoc 是通过 O’Reilly 的图书,Atlas 的推荐语言就是 AsciiDoc。那么十多种标记语言中,为什么要选择 AsciiDoc 呢?其实在选择另一种标记语言时,我做过一些简单的研究:

  • LaTex : 大名鼎鼎的 LaTex 是除了 Markdown 之外我第一个投入精力学习的标记语言。不得不说 LaTex 十分强大,但与这份强大伴随而来则是复杂的语法,导致了写作过程的枯燥,也让我失去了对 LaTex 的兴趣。

  • reStructuredText : REST 也是一种松散的文本结构,功能也较为全面,但书写起来更像是在写 Python。

  • Org mode : 我想基本上只有 Emacs 社区的人在使用了吧。

  • Texy!,BBCode,Creole,Textile…​ : 事实上大部分轻量级的标记语言语法都较为类似,所以这场抉择很大程度上是使用范围、功能、兼容性、扩展性等多方面的比赛,这也是我为什么不选择这些语言的原因。

AsciiDoc 与 Markdown

AsciiDoc 的语法与 Markdown 十分类似,在学会 Markdown 的前提下很容易转向 AsciiDoc 阵营。

在的功能方面,前面已经说过许多功能 Markdown 要通过扩展语法和 HTML 来实现,前者直接导致了通用性的缺失,后者提高了后期编撰的成本,而 AsciiDoc 的学习成本也远不及多学一门 HTML 甚至多种扩展语法。

AsciiDoc 原生支持的特性就足以应付大多数电子文档的编撰需求,你可以使用标准的 AsciiDoc 语法为你的文档添加作者信息、版本信息、表格等特性,它还支持文档引入、自定义块语法等功能。

默认配置的 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

AsciiDoc 语法

完整 的 AsciiDoc 语法 详见 index.adoc

数学公式

完整 的 AsciiDoc 数学公式语法 详见 index.adoc

画图

Draw.io 绘图

基于 Draw.io VS Code Integration 插件,可以把 drawio 绘图插入到 `AsciiDoc`中,详见工程中示例

  • 具体实现

    • 安装 Draw.io VS Code Integration 插件,基于此工程更顺利,已内置好配置

    • 在目录中建立 .drawio.svg.drawio.png 文件,如:test.drawio.svg 双击打开便可以自由绘图, 与 `drawio`在线绘图或本地客户端绘图效果一样,无法这样是直接保存为图片模式

    • AsciiDoc 中 使用引用图片语法即可,如:test.drawio

Excalidraw 白板

Excalidraw 可以自由绘图,相比较 Draw.io 更自由一点,`Draw.io`更专业,都有自己的独特之处,选择适合自己的更重要

基于 Excalidraw 插件,可以自由绘图并插入到 `AsciiDoc`中,详见工程中示例

  1. 具体实现

    • ** 安装`Excalidraw`插件,基于此工程更顺利,已内置好配置

      • 在目录中建立 .excalidraw.svg.excalidraw.png 文件,如:test.excalidraw.svg 双击打开便可以自由绘图

      • AsciiDoc 中 使用引用图片语法即可,如:test.excalidraw

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

VegaVega-lite 图表

官网[Vega & Vega-Lite](https://vega.github.io/)

vega 代码块中的内容将会被 vega 渲染。 vega-lite 代码块中的内容将会被 vega-lite 渲染。 JSON 以及 YAML 的输入是支持的。

完整 的 AsciiDoc Vega 示例 详见 index.adoc

工具

VSCode

asciidoctor-vscode vscode插件

AsciidocFX

AsciidocFX 是一款开源 GUI 编辑器。

asciidocfx
Figure 2. AsciidocFX

Atom

来自 Github 的 Atom, 需要额外安装插件。

index ide screenshot 26fbe099e63e84c16a2a690e9de2b923
Figure 3. Atom

AsciiDoctor

AsciiDocor 是一个使用 Ruby 实现的 AsciiDoc 转换工具。你可以通过 gem install asciidoctor 进行安装。

asciidoctor MyDoc.adoc

asciidoctor -a stylesheet golo.css -o MyHTML.html MyDoc.adoc
screenshot
Figure 4. AsciiDoctor

AsciiDoctor.js Live Editor

AsciiDoc Live

Kramdown AsciiDoc (Markdown to AsciiDoc)

如有建议或想法请大家 issues

MIT License Copyright (c) 2024 hang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

使用VScode+AsciiDoc设计文档真香 ,基于 VScode 编写 AsciiDoc 文档的模板,默认设置对应插件,可直接编辑,支持Draw.io、Excalidraw 、PlantUML、Mermaid等绘图 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hhhangcc/Asciidoctor-VSCode-Template.git
git@gitee.com:hhhangcc/Asciidoctor-VSCode-Template.git
hhhangcc
Asciidoctor-VSCode-Template
Asciidoctor-VSCode-Template
main

搜索帮助

0d507c66 1850385 C8b1a773 1850385