Skip to content

sayr777/puml

 
 

Repository files navigation

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://puml-demo.herokuapp.com/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://puml-demo.herokuapp.com/gitlab/projects/32006361/files/main/gitlab.md

demo

More examples can be found in gitlab.md

Raw

Pattern: /raw/{url}

Example: https://puml-demo.herokuapp.com/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:{commit} (Docker Hub)

Deployment

A demo app is deployed to https://puml-demo.herokuapp.com via .travis.yml

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.6%
  • Dockerfile 3.4%