• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A set of PlantUML libraries and a NPM cli tool to design diagrams which focus on several technologies/approaches: Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), C4 Model or even EventStorming and more.

plantuml-libs

Continous Integration npm version

Presentation

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 speed up the rendering of PlantUML source files, i.e. the generation of PNG.

Contributing

Thanks for your interest in contributing!

There are many ways to contribute to this project. Get started here.

Install

The library can be installed from several channels:

The PlantUML library

The library brings thousands of PlantUML artifacts. Therefore, a documentation is available to discover and pick the resources fulfilling your needs.

The documentation is a set of Markdown documents linked together which can be directly read from the GIT repository: ./distribution/README.md,

The documentation of the latest released version is also available on tmorin.github.io/plantuml-libs. It provides a search engine which should improve the discovery process ;).

The available packages:

Generate diagrams with gdiag

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.

Build the library

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

Generate the work directory

npm run generate-library

Generate the distribution directory

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

More Repositories

1

homecloud-ansible

homecloud provides a ready-to-use set of resources to bootstrap a cloud at home mainly based on Kubernetes and Syncthing.
Shell
30
star
2

idomizer

An HTML template parser compiling an incremental-dom render factory.
TypeScript
15
star
3

cryptonote-universal-pool-list

The most comprehensive list of cryptonote-universal-pool's instances.
JavaScript
14
star
4

ceb

<ceb/> is a library providing building blocks to develop Custom Elements (v1). Additionally, other building blocks are also provided to cover the implementation of web applications based on the Event/Message Architecture.
TypeScript
11
star
5

plantuml-generator

A command line utility to generate stuff with and for PlantUML.
Rust
9
star
6

deprecated-requirejs-plugin-wc

This plugin provides loading support about Web Components
JavaScript
6
star
7

ff-cpdn

Clear private data related to the current tab.
TypeScript
5
star
8

docker-image-zola

Docker image for zola.
Dockerfile
4
star
9

archicode

Streamline architectural design and visualization with an as-code approach. Integrates C4 Model and ArchiMate for efficient workflow.
Java
3
star
10

faggregate

Unlock the Power of DDD Aggregates and Functional Programming with `faggregate`!
Java
2
star
11

docker-image-keepalived

Docker image for keepalived.
Shell
2
star
12

cqrsjs

CQRS pattern apply to javascript
JavaScript
2
star
13

homecloud-kustomize

Set of Kustomize resources dedicated for Homecloud
Shell
2
star
14

dorders

A Decentralized Orders Management Platform helping two parties to exchange remotely information to fulfilled local deals.
TypeScript
2
star
15

quick-gallery

JavaScript
1
star
16

quanban

Full client task management based on Kanban.
JavaScript
1
star
17

imzer

imzer will help you to quickly share your location as well as to locate where the other guy is.
JavaScript
1
star