PlantUML diagrams

In order to render diagrams in the TYPO3 documentation, PlantUML is integrated into the rendering process.

Basic diagrams can be embedded directly into the reStructuredText markup:

Documentation/SomeFile.rst
..  uml::
    :caption: Some Caption

    class -> otherClass : message
Copied!

This will be rendered as:

classotherClassclassclassotherClassotherClassmessage
Some Caption

Include a PlantUML file

Documentation/SomeFile.rst
..  uml:: _complex_uml.plantuml
    :align: center
    :caption: Figure 1-1: Application flow
    :width: 1000
Copied!

This will be rendered as:

FeedFormatATOMJSONRSSAuthorInterfaceCategoryInterfaceFeedInterfaceFeedFormatAwareInterfaceImageInterfaceItemInterfaceRequestAwareInterfaceAuthorImageItemYourFeedThis is your feed implementation classCategoryused in attributesrequiredoptionaloptionalcontains10 .. ncontains10 .. ncontains10 .. ncontains10 .. 1contains10 .. n
Figure 1-1: Application flow

Put a file called _complex_uml.plantuml in the same directory as the reST file:

Documentation/_complex_uml.plantuml
enum FeedFormat {
  ATOM
  JSON
  RSS
}

interface AuthorInterface
interface CategoryInterface
interface FeedInterface
interface FeedFormatAwareInterface
interface ImageInterface
interface ItemInterface
interface RequestAwareInterface

class Author
class Image
class Item

class YourFeed
note left: This is your feed implementation class

YourFeed -[hidden]> FeedFormat

Author <|.. AuthorInterface
Category <|.. CategoryInterface
Image <|.. ImageInterface
Item <|.. ItemInterface

FeedInterface ..|> YourFeed : required
FeedFormatAwareInterface ..|> YourFeed : optional
RequestAwareInterface ..|> YourFeed : optional

Item "1" *-- "0 .. n" Author : contains

YourFeed "1" *-- "0 .. n" Author : contains
YourFeed "1" *-- "0 .. n" Category : contains
YourFeed "1" *-- "0 .. 1" Image : contains
YourFeed "1" *-- "0 .. n" Item : contains
YourFeed .. FeedFormat : used in attributes
Copied!