asciidoctor / docker-asciidoctor

:ship: A Docker image for using the Asciidoctor toolchain to process AsciiDoc content
https://hub.docker.com/r/asciidoctor/docker-asciidoctor/
Other
324 stars 149 forks source link

Support for generating (all) diagram types Asciidoctor Diagram supports #66

Open 7SW opened 6 years ago

7SW commented 6 years ago

What diagram types are supported bij the asciidoctor docker image 'out of the box'?

Until last release (did not test the januari release yet) these were supported:

Best situation would be that all of the formats mentioned at: http://asciidoctor.org/docs/asciidoctor-diagram/ are supported. Personally i miss blockdiag and mermaid most.

To test support I made the .adoc attached. I hope it can be of use. I can update it to include all of the diagrams mentioned at this moment in all formats (see link above): just let me know. adoc-diagram-testdoc.adoc.zip

Keep up the good work :-)!

Maarten

dduportal commented 6 years ago

Hello @7SW , thanks a lot for pushing on this!

The elements you have attached are a very useful: it will helps us to handle all the non regression tests cases.

Theorically, all diagrams should work as before, but the move to alpine linux had some side effects: some use cases see their tooling installed, but without a test, it crash at runtime, as in https://github.com/asciidoctor/docker-asciidoctor/pull/58 .

It is why I say again: THANK YOU for your use case here!

Next step: opening a pull request with those implemented (and eventually fixes alongside if the tests are failing in the current state).

By the way, expect at least an ETA at the end of January: there are 4 pull requests staling (holidays and I suppose the other maintainers have a lot of things to do so their free time is not always allowing them to review carefully).

Hope it helps

mojavelinux commented 6 years ago

Has this issue been resolved, or are there still diagram types that are not working under Alpine?

7SW commented 6 years ago
Diagram Type gif pdf png svg txt
actdiag   o X X  
blockdiag   o X X  
ditaa     X    
erd     o o  
graphviz   X X X  
meme ?   ?    
mermaid     o o  
nwdiag   o X X  
packetdiag   o o X  
plantuml     ? X X
rackdiag   o X X  
seqdiag   o X X  
shaape     o o  
umlet o o o o  
wavedrom     o o  

o = fails ? = not tested X = works: generates diagram

Conclusion: sure works better than before :-), but some diagrams don't generate an image in any format in my test. Most notably: Mermaid, Umlet.. but also erd, shaape, and wavedrom.

Most pdf generation fails with: Failed to generate image: rackdiag failed: ERROR: Could not detect fonts, use --font opiton

two plantuml ditaa tests fail, but I think rendering ditaa diagrams with ditaa itself is the better option anyway... Also, sizing of some images in PDF is not right. Could be an issue with the test doc itself though.

result.zip

mojavelinux commented 6 years ago

Thanks for doing this assessment, @7SW!

I'm not sure the PDF format is even a goal for Asciidoctor Diagram. Or is it? So that column may not be relevant in this context. Correct me if I'm wrong.

I also would challenge whether it's a goal to create all diagram types that Asciidoctor Diagram supports. We might end up getting diminishing returns compared to the increase in image size. The goal is to create a solid base image with the functionality that most users would need. mermaid and shaape are certainly very popular, but I'm not as sure about umlet for instance. Then again, I don't create many diagrams, so I'm just going based on the discussions I see go by.

cgoguyer commented 4 years ago

Vega and Vega-lite libraries are also missing:

As this issue is still open since 2018, is there some news about it ?

OlivierJourdan commented 3 years ago

Hi and thanks for the great job done on this docker image. I have the same question as @cgoguyer, what's the status on this issue?

For the record, I would be really interested in vega/vegalite support.

One question: I don't know more about docker than using an image. What are the skills needed to help this project (and this specific issue)?

lorrden commented 3 years ago

Bytefield-svg would be very useful as well.

jimurai commented 3 years ago

I managed to get bytefield-svg and wavedrom working for me in docker; Dockerfile can be found here. I have no idea if I'm doing the right thing (docker, asciidoctor, github, eveything), but I'm so excited about having so many useful diagram tools accessible through a single interface that I had to try. Thank you to everyone who has taken it this far.

barthel commented 1 year ago

I'm building a full blown Asciidoctor Container Image with all Asciidoctor Diagrams extensions. Most of the supported diagram tools are already implemented. Give it a try.

Github: https://github.com/barthel/docker-asciidoctor Docker Hub: https://hub.docker.com/r/uwebarthel/asciidoctor