This repo contains doubleSlash CI styling information to include in plantUML drawings. Use stylings by including the theme file at the top of your code.
Gen2 Theme Features:
- 🌙 Light and Dark Mode Support - Choose between light and dark themes
- 🎨 Improved Styling - Enhanced colors and modern design
- 📦 Consolidated Architecture - Simplified theme structure
- 🔄 Backward Compatibility - Legacy themes still work via redirects
The changelog is maintained in CHANGELOG.md. For the latest version, see releases.
For most diagram types, use the universal gen2 theme:
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/doubleslash-gen2.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/light.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/dark.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/puml-theme-gen2-system.puml
System Diagram Levels: The system theme supports multiple architectural levels using stereotypes:
rectangle "Online Shop System" <<context>> {
rectangle "Web Application" <<container>> {
rectangle "Order Management" <<component>> {
rectangle "Order Service" <<module>> {
rectangle "OrderController.java" <<code>>
}
}
}
}
Available Levels:
<<context>>
- System context level (C4 Level 1)<<container>>
- Container level (C4 Level 2)<<component>>
- Component level (C4 Level 3)<<module>>
- Module level (C4 Level 4)<<code>>
- Code level (C4 Level 5)<<external>>
- External systems/services
See examples/gen2/systemmodel_with_levels.puml for a complete example.
@startgantt
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/puml-theme-gen2-gantt.puml
...
Note: Legacy themes are deprecated but still functional via redirects. Please migrate to gen2 themes above.
Click to view legacy includes (deprecated)
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-usecase.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-activity.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-system.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-class.puml
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-sequence.puml
@startgantt
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/pgantt-theme-doubleslash.puml
...
@startmindmap
!include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-mindmap.puml
...
- Use Cases (see examples/gen2/usecase.puml): diagram to support documentation of PEOPLE and PROCESS.
- Activity (see examples/gen2/activity_model.puml): diagram to illustrate activities in a PROCESS. It can be used as an alternative to BPMN diagrams.
- System model (see examples/gen2/systemmodel.puml): diagram for a functional SYSTEM view. Represents the first two layers of a C4 model (System context and Containers)
- Data model (see examples/gen2/datamodel.puml): illustrates a DATA model with or without system specific data types. Main purpose of this model is to have a ubiquitous language for software product development to avoid misunderstandings between users and developers.
- Class model (see examples/gen2/class_model.puml): The class model forms the core of the module design. The classes can be used to represent both level 3 and level 4 in the C4 model. The methods of the classes are the basis of the messages in the sequence model.
- Sequence model (see examples/gen2/sequence.puml): The sequence model shows the interactions of the modules from the class model.
- Mind maps (see examples/gen2/mindmap.puml): The mind map visualizes ideas and concepts in a tree-like structure.
- Gantt charts (see examples/gen2/gantt.puml): Project timeline and task management visualization.
- State diagrams (see examples/gen2/state.puml): State machine and workflow visualization.
- Deployment diagrams (see examples/gen2/deployment.puml): Infrastructure and deployment architecture visualization.
To migrate from legacy themes to gen2:
-
Replace old include statements with the universal gen2 theme:
// Old (deprecated) !include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/puml-theme-doubleslash-[type].puml // New (gen2) !include https://raw.githubusercontent.com/doubleSlashde/umltheme/main/doubleslash/doubleslash-gen2.puml
-
Choose your preferred color scheme:
- Use
doubleslash/light.puml
for light mode - Use
doubleslash/dark.puml
for dark mode - Use
doubleslash/doubleslash-gen2.puml
for universal theme
- Use
-
Update examples to reference the gen2 directory if needed
To integrate the doubleSlash themes with MkDocs, install mkdocs_puml and add the following configuration to your mkdocs.yml
:
plugins:
- search
- plantuml:
puml_url: https://www.plantuml.com/plantuml/
theme:
url: https://raw.githubusercontent.com/doubleSlashde/umltheme/main/
light: doubleslash/light
dark: doubleslash/dark
This configuration:
- Uses the official PlantUML server for rendering
- Automatically applies the light theme for light mode
- Automatically applies the dark theme for dark mode
- Switches themes based on your MkDocs theme's color scheme
Please feel free to contribute improvements, bug fixes, or new diagram type support. Make sure to update both legacy and gen2 themes for backward compatibility.