plantuml-gitea/README.md

1.9 KiB

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