Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Guidance on implementing Plantuml renderer #763

Open
cjlotz opened this issue Dec 28, 2023 · 3 comments
Open

Question: Guidance on implementing Plantuml renderer #763

cjlotz opened this issue Dec 28, 2023 · 3 comments
Labels

Comments

@cjlotz
Copy link

cjlotz commented Dec 28, 2023

Hello. We are looking to add the ability to render Plantuml diagrams using markdig. We've noticed that Markdig.Diagrams has support for nonoml and mermaid diagrams. Is there any documentation that shows the extensibility points for how to go about adding support for Plantuml?

@xoofx
Copy link
Owner

xoofx commented Dec 29, 2023

Is there any documentation that shows the extensibility points for how to go about adding support for Plantuml?

Unfortunately, no doc, but the diagram extension here should be quite straightforward and the HTML code renderer handling it is here

In general, most of the extensions in the Markdig codebase are easy enough to understand them to develop your own.

@xoofx xoofx added the question label Dec 29, 2023
@cjlotz
Copy link
Author

cjlotz commented Dec 29, 2023

Thanks @xoofx for the feedback.

I had a look at the implementations, and they seem simple enough due to the fact that both mermaid and nomnoml has support for rendering the diagrams using a JS library. Support for rendering Plantuml using Javascript is still experimental and based on wasm with some issues that I want to avoid. There are existing libraries for transforming the Plantuml code block into a SVG and was hoping to use the libraries to transform the code block into a div that wraps the rendered SVG. This implies some kind of pre-processing and also the ability to specify the configuration for the plantuml server to use for rendering the SVG.

Do the same extension points still apply given the above mentioned description?

@xoofx
Copy link
Owner

xoofx commented Dec 29, 2023

Do the same extension points still apply given the above mentioned description?

You might have to write your own HTML renderer or transform the AST before rendering (e.g transform the codeblock to a HTML block)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants