/puml

Render PlantUML from Internet Content

Primary LanguageJavaMIT LicenseMIT

Puml Build CodeQL Maintainability

A java app for rendering plantuml diagrams sourced from the Internet.

Usage

GitHub

Pattern: /github/{owner}/{repo}/blob/{commit}/{path}

Example: https://demo.puml.net/github/lyang/puml/blob/main/github.md

demo

More examples can be found in github.md

GitLab

Pattern: /gitlab/projects/{repo}/files/{commit}/{path}

Example: https://demo.puml.net/gitlab/projects/32006361/files/main/gitlab.md

demo

More examples can be found in gitlab.md

Raw

Pattern: /raw/{url}

Example: https://demo.puml.net/raw/https%3A%2F%2Fraw.githubusercontent.com%2Flyang%2Fpuml%2Fmain%2Fgithub.md

demo

Authenticated Resources

For resources requiring authentication (like private repos), Credential can be configured for it. So far, only AuthorizationHeader is implemented.

Credentials will only be used when the configured url pattern matches the outbound request. Examples can be found in puml-demo.yaml

Proxy Authentication

If proxy authentication is required, it auto retries the request using http(s).proxyUser and http(s).proxyPassword system property.

Development

Dependency: gradle-7.3.1, graphviz

Java

Building the fat jar:

gradle build

Run it locally:

gradle run --args="server config.yaml"

For IDE, I use IntelliJ CE

Docker

Prebuilt images are at: linyang1218/puml Docker Hub