Javascript necessary to render plantuml from content in a html-block of class "language-plantuml". Possible to use with Gitea.
deflate.js | ||
encode.js | ||
plantuml.js | ||
README.md |
PlantUML
Javascript necessary to render PlantUML from content in a html-block of class "language-uml".
With help to get this to work on Gitea.
Install
Copy the javascript files to your server.
Then to convert all html blocks having the class language-uml
add the following to the html page:
<script src="https://your-server.com/deflate.js"></script>
<script src="https://your-server.com/encode.js"></script>
<script src="https://your-server.com/plantuml.js"></script>
<script>
plantUML("http://www.plantuml.com/plantuml")
</script>
Specifically for Gitea
Copy the javascript files to your custom/public
folder.
Then place the following code in custom/templates/custom/footer.tmpl
:
<script>
$(async () => {
if (!$('.language-uml').length) return;
await Promise.all([
$.getScript('https://your-server.com/deflate.js'),
$.getScript('https://your-server.com/encode.js'),
$.getScript('https://your-server.com/plantuml.js'),
]);
// Replace call with address to your plantuml server
plantUML("http://www.plantuml.com/plantuml");
});
</script>
How to use in GITEA
You add a normal code block with 3 backticks ```
but then add to the opening uml like this: ```uml
Example:
```uml @startuml (*) --> "Initialization" if "Some Test" then -->[true] "Some Action" --> "Another Action" -right-> (*) else ->[false] "Something else" -->[Ending process] (*) endif @enduml ```
Output:
@startuml
(*) --> "Initialization"
if "Some Test" then
-->[true] "Some Action"
--> "Another Action"
-right-> (*)
else
->[false] "Something else"
-->[Ending process] (*)
endif
@enduml
License
- deflate.js: Copyright (C) 1999 Masanao Izumo iz@onicos.co.jp. Some sources claim this to be GPL-2
- encode.js: From https://plantuml.com/code-javascript-synchronous. GPL-3
- plantuml.js: MIT or GPL-2 or GPL-3 at your choice.