This repository hosts a PlantUML lib which provides several packages. Each package focus on a particular technology/approach: Amazon Web Services (AWS), Azure, C4 Model or even EventStorming and more.
Additionally, a CLI utility, working with NodeJS, is also provided within the NPN package. Its purpose is to speedup the rendering of PlantUML source files, i.e. the generation of PNG.
Thanks for your interest in contributing! There are many ways to contribute to this project. Get started here.
The library can be installed from several channels:
- The NPM package is available on the NPM registry: @tmorin/plantuml-libs.
- From the GitHub Releases page, an archive of the library can be downloaded.
The resources can be browsed, from GitHub, with Markdown pages directly in the distribution directory.
The available packages:
- AWS (q1-2022)
- AWS (q2-2022)
- Azure
- C4 Model
- c4model + Nord Theme
- Domain Storytelling
- Enterprise Integration Pattern
- Event Storming
- Fontawesome v6
- Gougle Compute Platform
- Homecloud
- Material (v4)
- simpleicons-7
gdiag
is a command CLI provided by the NPM package.
It helps to quickly generate the diagrams embedded in *.puml
or *.plantuml
files.
gdiag
Render PlantUML diagrams discovered (*.{puml,plantuml}) in the working
directory.
Options:
--version Show version number [boolean]
--work-directory, --wd The directory where the PlantUML files will be
discovered and rendered. [string] [default: "."]
--tech-directory, --td The directory where technical resources will be
stored. [string] [default: ".gdiag"]
--lib-directory, --ld The directory where the library is located.
[string] [default: "/home/tibo/git-perso/plantuml-libs/distribution"]
--java-command, --jc The command of the java binary.
[string] [default: "java"]
--plantuml-version, --pv The version of PlantUML to use.
[string] [default: "1.2021.7"]
-c, --clean Delete recursively the pictures located in the
working directory. [boolean] [default: false]
--help Show help [boolean]
Alternatively, the command line plantuml-generator
, from tmorin/plantuml-generator, can also be used.
The build of the library is based on two steps:
- generate a work directory (
.workdir
) which contains the library manifest, and some additional resources like Tera templates, pictures ... - generate the distribution directory (
.distribution
) which contains the PlantUML resources as well as the documentation
npm run generate-library
docker run --rm \
-v "$(pwd)/.workdir:/workdir" \
-v "$(pwd)/distribution:/distribution" \
thibaultmorin/plantuml-generator:1 \
plantuml-generator library generate library.yaml \
-c=All -O=/distribution