nbossard / puml

Render PlantUML from Internet Content

Home Page:https://puml-demo.herokuapp.com/raw/https%3A%2F%2Fraw.githubusercontent.com%2Flyang%2Fpuml%2Fmaster%2FREADME.md

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Puml Build Status 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/master/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/master/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%2Fmaster%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

About

Render PlantUML from Internet Content

https://puml-demo.herokuapp.com/raw/https%3A%2F%2Fraw.githubusercontent.com%2Flyang%2Fpuml%2Fmaster%2FREADME.md

License:MIT License


Languages

Language:Java 96.7%Language:Dockerfile 3.3%