A java app for rendering plantuml diagrams sourced from the Internet.
Pattern: /github/{owner}/{repo}/blob/{commit}/{path}
Example: https://puml-demo.herokuapp.com/github/lyang/puml/blob/master/github.md
More examples can be found in github.md
Pattern: /gitlab/projects/{repo}/files/{commit}/{path}
Example: https://puml-demo.herokuapp.com/gitlab/projects/32006361/files/master/gitlab.md
More examples can be found in gitlab.md
Pattern: /raw/{url}
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
If proxy authentication is required, it auto retries the request using http(s).proxyUser
and http(s).proxyPassword
system property.
Dependency: gradle-7.3.1
, graphviz
Building the fat jar:
gradle build
Run it locally:
gradle run --args="server config.yaml"
For IDE, I use IntelliJ CE
Prebuilt images are at: linyang1218/puml:{commit}
(Docker Hub)
A demo app is deployed to https://puml-demo.herokuapp.com via .travis.yml