Skip to content

Material


Meterial theme is a set of minimalistic flavors which implement color palette of mkdocs-material.

Open Styles on GitHub

How to use

In order to use this theme with mkdocs_puml, select the desired flavor and set theme config of the plugin as follows:

plantuml:
  theme:
    light: material/indigo-light
    dark: material/indigo-dark

Flavors

Material theme has flavors of all mkdocs-material primary colors listed below.

So, it supports every color except black and white.

Each flavor is named after its primary color and implemented in two variants: light and dark. Flavor name is structured as {primary-color}-{mode}. For instance, if we want to use deep-purple color counterpart, we'll use deep-purple-light for light mode and deep-purple-dark.

The following tab-panel contains the mkdocs_puml configurations of all material flavors. You can use it for easy copy-pasting.

plantuml:
  theme:
    light: material/red-light
    dark: material/red-dark
plantuml:
  theme:
    light: material/pink-light
    dark: material/pink-dark
plantuml:
  theme:
    light: material/purple-light
    dark: material/purple-dark
plantuml:
  theme:
    light: material/deep-purple-light
    dark: material/deep-purple-dark
plantuml:
  theme:
    light: material/indigo-light
    dark: material/indigo-dark
plantuml:
  theme:
    light: material/blue-light
    dark: material/blue-dark
plantuml:
  theme:
    light: material/light-blue-light
    dark: material/light-blue-dark
plantuml:
  theme:
    light: material/cyan-light
    dark: material/cyan-dark
plantuml:
  theme:
    light: material/teal-light
    dark: material/teal-dark
plantuml:
  theme:
    light: material/green-light
    dark: material/green-dark
plantuml:
  theme:
    light: material/light-green-light
    dark: material/light-green-dark
plantuml:
  theme:
    light: material/lime-light
    dark: material/lime-dark
plantuml:
  theme:
    light: material/yellow-light
    dark: material/yellow-dark
plantuml:
  theme:
    light: material/amber-light
    dark: material/amber-dark
plantuml:
  theme:
    light: material/orange-light
    dark: material/orange-dark
plantuml:
  theme:
    light: material/deep-orange-light
    dark: material/deep-orange-dark
plantuml:
  theme:
    light: material/brown-light
    dark: material/brown-dark
plantuml:
  theme:
    light: material/grey-light
    dark: material/grey-dark
plantuml:
  theme:
    light: material/blue-grey-light
    dark: material/blue-grey-dark

Examples

In this theme card, we'll showcase examples using the classic indigo flavor. Feel free to experiment by trying out other flavors on your own.

Class Diagram

fsCSVReaderRead data from csv filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>JSONReaderRead data from json filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>DisplayRepresent an object in StringAbstractReaderRead the data from various sourcesread() -> Vec<Data>CategoryDEVICEFOODMISCItemObject representing a data itemname: Stringcategory: Categoryprice: f64
fsCSVReaderRead data from csv filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>JSONReaderRead data from json filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>DisplayRepresent an object in StringAbstractReaderRead the data from various sourcesread() -> Vec<Data>CategoryDEVICEFOODMISCItemObject representing a data itemname: Stringcategory: Categoryprice: f64

fsCSVReaderRead data from csv filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>JSONReaderRead data from json filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>DisplayRepresent an object in StringAbstractReaderRead the data from various sourcesread() -> Vec<Data>CategoryDEVICEFOODMISCItemObject representing a data itemname: Stringcategory: Categoryprice: f64
fsCSVReaderRead data from csv filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>JSONReaderRead data from json filenew(p: AsRef<Path>) -> Selfread() -> Vec<Data>DisplayRepresent an object in StringAbstractReaderRead the data from various sourcesread() -> Vec<Data>CategoryDEVICEFOODMISCItemObject representing a data itemname: Stringcategory: Categoryprice: f64

Sequence

AliceAliceBobBobLogLogAuthentication Requestthis is a first noteInitializationalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureLog attack startLog attack end[Another type of failure]Please repeat
AliceAliceBobBobLogLogAuthentication Requestthis is a first noteInitializationalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureLog attack startLog attack end[Another type of failure]Please repeat

AliceAliceBobBobLogLogAuthentication Requestthis is a first noteInitializationalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureLog attack startLog attack end[Another type of failure]Please repeat
AliceAliceBobBobLogLogAuthentication Requestthis is a first noteInitializationalt[successful case]Authentication Accepted[some kind of failure]Authentication FailureLog attack startLog attack end[Another type of failure]Please repeat

State

NotShootingIdleConfiguringNewValueSelectionNewValuePreviewState1State2EvNewValueEvNewValueRejectedEvNewValueSavedEvConfigEvConfig
NotShootingIdleConfiguringNewValueSelectionNewValuePreviewState1State2EvNewValueEvNewValueRejectedEvNewValueSavedEvConfigEvConfig

NotShootingIdleConfiguringNewValueSelectionNewValuePreviewState1State2EvNewValueEvNewValueRejectedEvNewValueSavedEvConfigEvConfig
NotShootingIdleConfiguringNewValueSelectionNewValuePreviewState1State2EvNewValueEvNewValueRejectedEvNewValueSavedEvConfigEvConfig

Entity

DatabaseDatabaseauthentication.modelsprojects.modelsuser_cards.modelsuser_devices.modelsUserid: INT<PK>email: VARCHAR<unique, case_insensitive>password: VARCHAR<argon2>is_staff: BOOLEANis_superuser: BOOLEANis_active: BOOLEANlast_login_at: TIMESTAMPcreated_at: TIMESTAMPProjectid: INT<PK>user: INT<FK>name: VARCHARlast_updated_at: TIMESTAMPcreated_at: TIMESTAMPUMLid: INT<PK>project: INT<FK>c4_type: ENUMdiagram: TEXTCardid: INT<PK>user: INT<FK>stripe_token: VARCHARname: VARCHARlast_numbers: VARCHAR(4)created_at: TIMESTAMPPhoneDeviceid: INT<PK>user: INT<FK, unique>phone_number: VARCHAR<unique=True>secret_key: VARCHAR
DatabaseDatabaseauthentication.modelsprojects.modelsuser_cards.modelsuser_devices.modelsUserid: INT<PK>email: VARCHAR<unique, case_insensitive>password: VARCHAR<argon2>is_staff: BOOLEANis_superuser: BOOLEANis_active: BOOLEANlast_login_at: TIMESTAMPcreated_at: TIMESTAMPProjectid: INT<PK>user: INT<FK>name: VARCHARlast_updated_at: TIMESTAMPcreated_at: TIMESTAMPUMLid: INT<PK>project: INT<FK>c4_type: ENUMdiagram: TEXTCardid: INT<PK>user: INT<FK>stripe_token: VARCHARname: VARCHARlast_numbers: VARCHAR(4)created_at: TIMESTAMPPhoneDeviceid: INT<PK>user: INT<FK, unique>phone_number: VARCHAR<unique=True>secret_key: VARCHAR

DatabaseDatabaseauthentication.modelsprojects.modelsuser_cards.modelsuser_devices.modelsUserid: INT<PK>email: VARCHAR<unique, case_insensitive>password: VARCHAR<argon2>is_staff: BOOLEANis_superuser: BOOLEANis_active: BOOLEANlast_login_at: TIMESTAMPcreated_at: TIMESTAMPProjectid: INT<PK>user: INT<FK>name: VARCHARlast_updated_at: TIMESTAMPcreated_at: TIMESTAMPUMLid: INT<PK>project: INT<FK>c4_type: ENUMdiagram: TEXTCardid: INT<PK>user: INT<FK>stripe_token: VARCHARname: VARCHARlast_numbers: VARCHAR(4)created_at: TIMESTAMPPhoneDeviceid: INT<PK>user: INT<FK, unique>phone_number: VARCHAR<unique=True>secret_key: VARCHAR
DatabaseDatabaseauthentication.modelsprojects.modelsuser_cards.modelsuser_devices.modelsUserid: INT<PK>email: VARCHAR<unique, case_insensitive>password: VARCHAR<argon2>is_staff: BOOLEANis_superuser: BOOLEANis_active: BOOLEANlast_login_at: TIMESTAMPcreated_at: TIMESTAMPProjectid: INT<PK>user: INT<FK>name: VARCHARlast_updated_at: TIMESTAMPcreated_at: TIMESTAMPUMLid: INT<PK>project: INT<FK>c4_type: ENUMdiagram: TEXTCardid: INT<PK>user: INT<FK>stripe_token: VARCHARname: VARCHARlast_numbers: VARCHAR(4)created_at: TIMESTAMPPhoneDeviceid: INT<PK>user: INT<FK, unique>phone_number: VARCHAR<unique=True>secret_key: VARCHAR

Activity

action 1action 2action 3action 4
action 1action 2action 3action 4

action 1action 2action 3action 4
action 1action 2action 3action 4

C4

C4 styling is remained mostly intact. The only change is an improved visibility in dark mode.

«container_boundary»«boundary»Databases[container]«container»Database[Microsoft SQL] Holds product, order andinvoice information«container»Cache & MB[Redis] Cache and simple messagebroker«person»Customer People that need products«container»SPA[angular] The main interface that thecustomer interacts with«container»API[java] Handles all business logicUsesUsesReads/Writes
«container_boundary»«boundary»Databases[container]«container»Database[Microsoft SQL] Holds product, order andinvoice information«container»Cache & MB[Redis] Cache and simple messagebroker«person»Customer People that need products«container»SPA[angular] The main interface that thecustomer interacts with«container»API[java] Handles all business logicUsesUsesReads/Writes

«container_boundary»«boundary»Databases[container]«container»Database[Microsoft SQL] Holds product, order andinvoice information«container»Cache & MB[Redis] Cache and simple messagebroker«person»Customer People that need products«container»SPA[angular] The main interface that thecustomer interacts with«container»API[java] Handles all business logicUsesUsesReads/Writes
«container_boundary»«boundary»Databases[container]«container»Database[Microsoft SQL] Holds product, order andinvoice information«container»Cache & MB[Redis] Cache and simple messagebroker«person»Customer People that need products«container»SPA[angular] The main interface that thecustomer interacts with«container»API[java] Handles all business logicUsesUsesReads/Writes