asciidoctor / asciidoctor-diagram

:left_right_arrow: Asciidoctor diagram extension, with support for AsciiToSVG, BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag), Ditaa, Erd, GraphViz, Mermaid, Msc, PlantUML, Shaape, SvgBob, Syntrax, UMLet, Vega, Vega-Lite and WaveDrom.
http://asciidoctor.org
MIT License
439 stars 107 forks source link

Add support for ELK layout engine #458

Open StephanPirnbaum opened 6 months ago

StephanPirnbaum commented 6 months ago

For better layout of PlantUML diagrams, I mostly use ELK (Eclipse Layout Kernel). As ELK is not part of the official PlantUML distribution, using asciidoctor-diagram cannot render such diagrams. This issue can easily circumvented when e.g. using the asciidocotr Maven plugin by simply adding the following ELK libraries as a dependency to the plugin.

<dependency>
    <groupId>org.eclipse.elk</groupId>
    <artifactId>org.eclipse.elk.core</artifactId>
    <version>0.7.1</version>
</dependency>
<dependency>
    <groupId>org.eclipse.elk</groupId>
    <artifactId>org.eclipse.elk.alg.layered</artifactId>
    <version>0.7.1</version>
</dependency>
<dependency>
    <groupId>org.eclipse.elk</groupId>
    <artifactId>org.eclipse.elk.alg.mrtree</artifactId>
    <version>0.7.1</version>
</dependency>
<dependency>
    <groupId>org.eclipse.elk</groupId>
    <artifactId>org.eclipse.elk.graph</artifactId>
    <version>0.7.1</version>
</dependency>

However, when e.g. using the https://github.com/asciidoctor/asciidoctor-intellij-plugin this way of providing additional libraries is not possible. Following the ELK discussions and timeline around PlantUML, I don't see that it will be integrated soon into PlantUML itself.

Therefore, it would be great if asciidoctor-diagram could bring the dependencies to ELK itself and thus support a third layouting option besides GraphViz and Smetana for many tools built on top of asciidoctor-diagram.

pepijnve commented 6 months ago

@ahus1 I think this is feature request for you.