Skip to content

Catppuccin

Logo


Catppuccin color palette for PlantUML diagrams.

Open Styles on GitHub

How to use

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

plantuml:
  theme:
    light: catppuccin/latte
    dark: catppuccin/mocha

Flavors

All four flavors of catppuccin are implemented for PlantUML and C4 extension.

Special Flavor

A special latte-white flavor has been added to this theme, setting the base color to #ffffff instead of catppuccino's #eff1f5. Some users may find it more appealing when used with light mode.

Examples

Let's see how various diagrams look with this theme.

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

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

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

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

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

Entity

Database EntitiesDatabase Entitiesauthentication.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
Database EntitiesDatabase Entitiesauthentication.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

Database EntitiesDatabase Entitiesauthentication.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
Database EntitiesDatabase Entitiesauthentication.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

Database EntitiesDatabase Entitiesauthentication.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
Database EntitiesDatabase Entitiesauthentication.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

Database EntitiesDatabase Entitiesauthentication.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
Database EntitiesDatabase Entitiesauthentication.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

Database EntitiesDatabase Entitiesauthentication.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
Database EntitiesDatabase Entitiesauthentication.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

Timing

Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300
Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300

Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300
Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300

Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300
Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300

Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300
Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300

Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300
Clock_0Clock_1BinaryConciseIdleWaitingRobustIdleProcessingWaitingAnalog0.03.0050100300

C4

«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

«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

«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