从 asciidoctor 激活 plantuml

activiating plantuml from asciidoctor

我想从 asciidoctor 激活 plantuml

我从 asciidctor 了解到:

锚点:id[可选外部引用标签]

等于

[[id,可选的外部引用标签]]

但是锚在哪里?

linux 安装了 mint asciidoctor 1.5.6 GraphViz

使用 asciidoctor 插件在 IntelliJ 中预览不工作

plantuml::images/diagramm.puml[] // 有效

[plantuml,images/diagramm.puml] // 无效

如何写出正确的embedding?

您在问两个不同的问题。

首先,anchor:id[optional xref label] 语法等同于 [[id, optional xref label]]。这些提供了 cross-reference 链接可以指向的文档中的目标位置,但锚点本身不可见。可选标签用于标记指向锚点的链接。

比如当这个Asciidoctor文档被转换成HTML:

= Document

First: anchor:alice[Alice]

Second: [[bob, Bob]]

Link to <<alice>>.

Link to <<bob>>.

HTML 看起来像:

...
<div id="header">
<h1>Document</h1>
</div>
<div id="content">
<div class="paragraph">
<p>First: <a id="alice"></a></p>
</div>
<div class="paragraph">
<p>Second: <a id="bob"></a></p>
</div>
<div class="paragraph">
<p>Link to <a href="#alice">Alice</a>.</p>
</div>
<div class="paragraph">
<p>Link to <a href="#bob">Bob</a>.</p>
</div>
</div>
...

如果您的文档包含锚点但从未链接到它,则输出中会省略锚点标记。

对于你的第二个问题,你已经回答了。安装 asciidoctor-plantuml 扩展后,它会提供对 plantuml: 宏的支持。每当您在文档中包含 plantuml::path/to/plantuml/diagram.puml[] 时,扩展程序都会呈现指定的 PlantUML 图文件并发出生成的图像,其中宏将出现在输出中。

使用 [plantuml,images/diagramm.puml] 只会指定 ID 为 plantuml 的锚点,任何指向它的 cross-reference 链接都将按字面意思标记为 images/diagramm.puml.

“asciidoc”intellij 扩展可以渲染 plantuml,
通过添加 kroki url (https://world-tsp-ci-assurance.is.echonet/kroki/) 变成以下形式:

/File/settings/Languages&Frameworks/AsciiDoc/Use kroki to render diagram instead of Asciidoctor Diagram/url of custom kroki instance

这将激活所有 kroki 支持的语言:不仅是 plantuml:

actdiag 
blockdiag   
bpmn    
bytefield   
c4plantuml  
ditaa   
erd 
excalidraw  
graphviz    
mermaid 
nomnoml 
nwdiag  
packetdiag  
plantuml    
rackdiag    
seqdiag 
svgbob  
umlet   
vega    
vegalite    
wavedrom