All Projects → vbauer → Lein Plantuml

vbauer / Lein Plantuml

Licence: epl-1.0
A Leiningen plugin for generating UML diagrams using PlantUML

Programming Languages

clojure
4091 projects
clj
17 projects

Projects that are alternatives of or similar to Lein Plantuml

ecto erd
A mix task for generating Entity Relationship Diagram from Ecto schemas available in your project.
Stars: ✭ 173 (+302.33%)
Mutual labels:  uml, plantuml
PlantUml-Language-Service
PlantUml Language Service extension for Visual Studio 2017 and 2019
Stars: ✭ 24 (-44.19%)
Mutual labels:  uml, plantuml
C4-PlantumlSkin
This library provides skinning to create C4 diagrams using PlantUml
Stars: ✭ 74 (+72.09%)
Mutual labels:  uml, plantuml
Plantuml Icon Font Sprites
plantuml-font-icon-sprites
Stars: ✭ 242 (+462.79%)
Mutual labels:  plantuml, uml
Plantuml Editor
PlantUML online demo client
Stars: ✭ 313 (+627.91%)
Mutual labels:  plantuml, uml
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+474.42%)
Mutual labels:  plantuml, uml
swagger2puml
Generate Class Diagrams (UML) for Given Swagger Definition
Stars: ✭ 43 (+0%)
Mutual labels:  uml, plantuml
Asciidoctor Kroki
Asciidoctor.js extension to convert diagrams to images using Kroki!
Stars: ✭ 55 (+27.91%)
Mutual labels:  plantuml, uml
idle
parse source code(objective-c, java) generate uml(class diagram)
Stars: ✭ 44 (+2.33%)
Mutual labels:  uml, plantuml
dcdg.dart
Dart Class Diagram Generator
Stars: ✭ 98 (+127.91%)
Mutual labels:  uml, plantuml
C4 Plantuml
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
Stars: ✭ 3,522 (+8090.7%)
Mutual labels:  plantuml, uml
Kroki
Creates diagrams from textual descriptions!
Stars: ✭ 774 (+1700%)
Mutual labels:  plantuml, uml
Umldoclet
Automatically generate PlantUML diagrams in javadoc
Stars: ✭ 138 (+220.93%)
Mutual labels:  plantuml, uml
Aws Plantuml
PlantUML sprites, macros, and other includes for AWS components.
Stars: ✭ 565 (+1213.95%)
Mutual labels:  plantuml, uml
Plantuml Service
High-performance HTTP service for PlantUML, used in Kibela
Stars: ✭ 86 (+100%)
Mutual labels:  plantuml, uml
IPlantUML
A Python package which defines a PlantUML cell magic for IPython.
Stars: ✭ 85 (+97.67%)
Mutual labels:  uml, plantuml
PlantUML-colors
This script is to show all named color suggested by PlantUML
Stars: ✭ 52 (+20.93%)
Mutual labels:  uml, plantuml
Plantuml Styler
Online tool to make your PlantUML diagrams look great.
Stars: ✭ 35 (-18.6%)
Mutual labels:  plantuml, uml
Arkit
JavaScript architecture diagrams and dependency graphs
Stars: ✭ 671 (+1460.47%)
Mutual labels:  plantuml, uml
System Designer
A low-code development platform for creating systems
Stars: ✭ 578 (+1244.19%)
Mutual labels:  uml

lein-plantuml

PlantUML is an open-source tool that uses simple textual descriptions to draw UML diagrams. Diagrams are defined using a simple and intuitive language.

lein-plantuml is a Leiningen plugin for generating UML diagrams using PlantUML.

Build Status Clojars Project

Pre-requirements

Install Graphviz to use lein-plantuml plugin. PlantUML should be working with any version of GraphViz, starting with 2.26.3

brew install graphviz
sudo apt-get install graphviz
yum list available 'graphviz*'
yum install 'graphviz*'

Installation

To enable lein-plantuml for your project, put the following in the :plugins vector of your project.clj file:

; Use latest version instead of "X.X.X"
:plugins [[lein-plantuml "X.X.X"]]

Configuration

To configure PlantUML generator, you need to setup :plantuml option as a list of triplets: "glob pattern" ["file format"] ["output directory"]

Description:

  • Glob pattern is based on wildcard characters, see Glob for additional information.
  • Files format is an image file format for output data (optional parameter, default value is :png). You could use both variants (keywords and text values) to configure file format.
  • Output directory is an optional parameter, files will be generated in the same directory by default.

File formats:

  • :png - Portable Network Graphics format
  • :svg - Scalable Vector Graphics format
  • :txt, :utxt - Text file format
  • :eps, :eps:txt - Encapsulated PostScript format
  • :pdf - Portable Document Format

Example configuration:

  :plantuml [["resources/*.puml" :png "target"]
             ["presentation/*.txt" "svg"]]

Usage

To generate UML image files using configuration from project.clj, you should use:

lein plantuml

To enable this plugin at compile stage, use the following hook:

:hooks [lein-plantuml.plugin]

To run PlantUML generator using command line interface without configuration in project.clj file, you need to use following command:

lein plantuml <source folder> [<file format>] [<output folder>]

By default, generator will use PNG output format and input directory for output files.

To show help for CLI:

 lein help plantuml

Examples

Detailed example

To test the plugin, you can create a simple file and run lein-plantuml:

@startuml

User -> (Start)
User --> (Use the application) : A small label

:Main Admin: ---> (Use the application) : This is\nyet another\nlabel

@enduml

Output UML diagram should look like this:

uml-example

Example project

Just clone current repository and try to play with example project for better understanding how to use lein-planuml.

Useful links

More examples could be found here:

Unit testing

To run unit tests:

lein test

Thanks to

PlantUML developers for the really great project and adding lein-planuml on the official site.

Might also like

  • lein-asciidoctor - a Leiningen plugin for generating documentation using Asciidoctor.
  • lein-jshint - a Leiningen plugin for running javascript code through JSHint.
  • lein-jslint - a Leiningen plugin for running javascript code through JSLint.
  • lein-coffeescript - a Leiningen plugin for running CoffeeScript compiler.
  • lein-typescript - a Leiningen plugin for running TypeScript compiler.
  • jabberjay - a simple framework for creating Jabber bots.
  • coderwall-clj - a tiny CoderWall client for Clojure.

License

Copyright © 2014 Vladislav Bauer

Distributed under the Eclipse Public License, the same as Clojure.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].