Plantuml Cheat Sheet



Forked from mirrors/plantuml-editor. Watch 1 Star 0 Fork 0 Code Issues 0 Pull Requests 0 Releases 1 Wiki Activity PlantUML online demo client. You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long. PlantUML online demo client. When you press the Save button, it will be added to the history.

Every reST (.rst) file should use these underlining styles. In reST, you can use differentstyles in any order you want. These are our conventions for TYPO3 documentation.

  • line 1-3: This is the doc title. Every .rst file should have one.

  • line 7: header label. This can be used for cross-referencing to this section:

  • 9-10: Header level 1

  • etc.

See also

External links¶

method 1:

(with one or two underscores at the end, if in doubt, use two)

method 2: “External Hyperlink Targets”:

This may be more convenient if you use a link several times.

Plantuml comment syntax

Cross references¶

When linking within docs.typo3.org, you should use this method of cross-referencing.

Use it to link to a section in this manual:

A section with the label intersphinx must exist! It is placed before the header:

Or, when cross-referencing to other manuals:

When you are linking to another manual, make sure theshortcut (here: “h2document”) is included in Settings.cfg:

We use the same conventions for naming the shortcuts in Settings.cfg,see Settings.cfg. Not used manuals are commented out.

Tip

This is a cool feature, where reST & Sphinx shines: Even when a section ismoved to another page (which effectively changes the URL), the link will still work! Rtp usb devices driver download for windows.

Link to: Same manualLink to: Other manual
Explicit anchor text:ref:`CrossReferencing<intersphinx>`:ref:`CrossReferencing<t3docwrite:intersphinx>`
Automatic anchor text:ref:`intersphinx`:ref:`t3docwrite:intersphinx`

See also

  • Link targets (labels)

To create a bullet list:

  • add a blank line before and after the list
  • indent the list item text by 3 spaces - including the item sign
  • to create a nested list:
    • indent the items by 3 spaces (left-align with parent item text)
    • apply rules of parent list (blank lines, item text indentation, .)

More text.

To create a numbered list:

  1. add a blank line before and after the list
  2. indent the list item text by 3 spaces - including the item sign
  3. to create a nested list:
    1. indent the items by 3 spaces (left-align with parent item text)
    2. apply rules of parent list (blank lines, item text indentation, .)

More text.

Important

Use syntactically correct code in your code blocks.

Code block directive¶

How it looks:

Source:

This uses the directive “code-block” (line 1)

Important

Make sure to indent correctly. The lines of the code-block (line 3+)must be indented (3 spaces).

Literal Block (::

Or, use the literal block markup :: if PHP is already set as defaultwith highlight directive and you want to combine a text with a colon,followed by the code block.

How it looks:

Assign the variable a:

Source:

For inline code or for other semantic markup of special texts, use text roles.

Examples:

  1. $result=$a+23; (PHP snippet)
  2. lib.hello.value=HelloWorld! (TypoScript snippets)
  3. /etc/passwd (file)
  4. ctrl + s (keyboard strokes)

Source (inline text with text roles):

Normal text, bold text and italic text.

Source (bold & italic):

Source (image):

Another example:

See also

Plantuml table

Source (YouTube):

This is often used, for a Quick Start section, involving a few numbered steps:

With Big Numbers¶

This is an example with a code block (::) embedded in the sections.

Source:

How it looks:

  1. Embed an image

    Source:

  2. Two

    Do something else …

With Big Numbers XXL¶

Source:

How it looks:

  1. Embed an image

    Source:

  2. Two

    Do something else …

Tips, hints, important (Admonitions)¶

Tip

Plantuml Cheat Sheet 2020

To look at the reST source of this rendered page, scroll to the bottomand click on “View page source”.

Source (tip):

Diagrams

Source:

How it looks:

Unified Modeling Language - Wikiwand
Business Process Model and Notation (BPMN) is very similar to activity diagram.
YANG Central

Allen Holub's UML Quick Reference
UML Diagram Types With Examples for Each Type of UML Diagrams
Practical UML: A Hands-On Introduction for Developers

Voxxed Athens 2017 :: Opening Ceremony + Keynote Software Architecture Diagramming - YouTube
The Art of Visualising Software Architecture - Coding the Architecture

Text based tools

I used to use the GUI tool Dia. But it was very buggy and no longer updated. I then went on to look for alternatives.

I am frustrated with the UI diagram apps:

  • layout of components takes time
  • it is difficult to modify the diagrams in UI (especially for batch operations, e.g. rename, grouping)
  • application lock-in because of the binary file format
  • binary file is not trackable by VCS
  • hard to integrate to other system

So I focused on tools that provides a DSL for drawing UML from plain text.
Candidates are (ranked according to the criteria below):

ToolLanguageDiagramsRemark
PlantUMLJavaActivity, State, Sequence, Component, Class, Object, Use Case, etclive, Language Reference
blockdiagPythonBlock, Activity, Sequence, Network, Rack, Packetlive
mermaidJavaScriptFlowchart (Activity), Sequence, Ganttlive, Schachte/Mermrender
JUMLYJavaScriptSequence, Activitylive
js-sequence-diagramsJavaScriptSequencelive
flowchart.jsJavaScriptFlowchartlive
UMLGraphJavaSequence, Class
ckwnc?Sequencelive only, C-like syntax
GraphvizCDigraphlayout/rendering layer for PlantUML and UMLGraph, with browser port viz.js, dagre, dagre-d3

I ended up choosing PlantUML because:

  • the syntax is more familiar and flexible
  • active development
  • generates beautiful diagrams
  • style-able
  • supports more diagram types
  • easy to setup
  • bindings to more projects indicates widespread usage

BTW, blockdiag would be the first runner up. It also features several unique diagram types.

PlantUML

General and common command to handle graphic layout in diagrams.
Language specification pages
Changing colors and fonts

The automatic layout of PlantUML (with GraphViz) is a curse and a blessing.
On one hand you are free of the hassle of arranging the elements, on the other hand you have little control over the position of how your elements.
Hackery like horizontalLineBetweenDifferentPackageAllowed and hidden links (-[hidden]-) are needed to tame the layout engine.

PlantUML also embed other tools besides UML:
DITAA, Salt, JCCKit, Sudoku, XEarth

Drawing UML with plantuml
PlantUML | DrawUML cheat sheet
PlantUML Pleasantness -Messages from mrhaki

Live Editor:
PlantUML Web Server
PlantUML Editor
PlantText

PlantUML Viewer - Chrome Web Store
UML Diagram Editor - Chrome Web Store
PlantUML QEditor | SourceForge.net
nrekretep/pikturr: Simple tool to turn a swagger api spec into a uml class diagram.

Plantuml cheat sheet

Graphviz | UX Design and Development course
dot - man page
Drawing graphs with dot PDF

Samples

Real World PlantUML gallery
ui-cs383/Class-Diagrams
hnakamur/asciidoctor-ditaa-graphviz-plantuml-example
jmbruel/basics: Basic UML concepts and diagrams in plantUML for easy modification/translation
BracketsUML/diagrams at master · KyleKorndoerfer/BracketsUML
Examples Gallery — PlantUML Client in Python 1.0.0 documentation

Plantuml Sequence Diagram Cheat Sheet

styling:
hackebrot/plantuml-snippets: Code snippets for drawing diagrams with PlantUML
mmmpa/colors_for_plantUML
templates/plantuml at master - mark.george/templates

GaaS (graph as a service)

With an HTTP client and scraping code, any DSL with web editor could be made as a service. This is especially easy if the DSL is provided as a library of course.

PlantUML's service mode, seejQuery and JavaScript async and sync integration.

GUI Tools

PlantUML's weakness (and strength, sort of) is the user cannot (and need not) specify location of the nodes. This became an issue for component diagrams where we need more control on node position and edge routing, which are crucial for component diagram for a better look and feel of the diagram.

Plantuml Cheat Sheet

UML Diagramming Tools | Diagramming.org
Our list of online modeling tools

yEd - Graph Editor
Astah Community - Free UML Modeling tool | Astah.net
Gaphor UML Modelling (Python)
Modelio Open Source Community
ArgoUML the UI is bad
UMLet - Free UML Tool for Fast UML Diagrams
Violet UML Editor : easy to use, completely free

yEd

After trying out several GUI tools, yEd comes to my liking.

  • decent and non-buggy UI
  • better community support
  • can save as XML (graphml) format that can be edited manually or programmatically
  • provides (limited) transform with Properties Mapper

Plantuml Cheat Sheet

see yed.md

Chrome Apps

Draw.io Desktop - Chrome Web Store: the diagram is saved as XML with unknown encoding
Gliffy Diagrams - Chrome Web Store: the diagram is saved as JSON
Lucidchart Diagrams - Desktop - Chrome Web Store
Sketchboard.io - Chrome Web Store

Code Generation

Comments

Please enable JavaScript to view the comments powered by Disqus.




Comments are closed.