Skip to content

Instantly share code, notes, and snippets.

@closetgeekshow
Last active June 21, 2025 21:33
Show Gist options
  • Select an option

  • Save closetgeekshow/08c9f858a597508bc0c104daf62acab9 to your computer and use it in GitHub Desktop.

Select an option

Save closetgeekshow/08c9f858a597508bc0c104daf62acab9 to your computer and use it in GitHub Desktop.
Canongraph-mmd.md
%%{ init: { "theme": "default" } }%%

graph TD

%% === Roles (RBAC) ===
role_editor["πŸ§‘β€πŸ’Ό editor"]:::rbac
role_moderator["πŸ§‘β€πŸ’Ό moderator"]:::rbac

%% === Entities (RBAC) ===
entity_article["πŸ“„ article"]:::rbac
entity_comment["πŸ’¬ comment"]:::rbac

%% === Permissions ===
role_editor -->|edit, publish| entity_article
role_moderator -->|approve, delete| entity_comment

%% === UI Components ===
component_article_form["🧩 ArticleForm"]:::ui
component_comment_list["🧩 CommentList"]:::ui

component_article_form -->|displays| entity_article
component_comment_list -->|displays| entity_comment

%% === Pages (Sitemap) ===
page_about["πŸ“˜ /about"]:::sitemap
page_contact["πŸ“˜ /contact"]:::sitemap
page_comments["πŸ“˜ /comments"]:::sitemap

page_about --> page_contact
page_about --> page_comments
page_comments --> component_comment_list

%% === Attachments ===
asset_form["πŸ“· Form Screenshot"]:::attachment
asset_guide["πŸ“· Comment Guide"]:::attachment

component_article_form --> asset_form
component_comment_list --> asset_guide

%% === Inferred Link ===
entity_comment -.-> entity_article:::inferred

%% === Plugin Classes
classDef rbac fill:#ffd6d6,stroke:#e53935,color:#333
classDef ui fill:#e0f7fa,stroke:#00acc1,color:#000
classDef sitemap fill:#e8f5e9,stroke:#43a047,color:#000
classDef attachment fill:#fce4ec,stroke:#d81b60,color:#000
classDef inferred stroke-dasharray: 5,5,stroke:#aaa,fill:#f3f3f3
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment