From 45e52932ddc47fbb4a541684ede096db86371ba1 Mon Sep 17 00:00:00 2001 From: yihao Date: Mon, 19 Jan 2026 14:03:52 +0800 Subject: [PATCH 1/3] Update architecture diagram to use mermaid Replaces original .pptx source file and the generated .png --- docs/devGuide/design/architecture.md | 94 +++++++++++++++++++++- docs/diagrams/architecture.pptx | Bin 43983 -> 0 bytes docs/images/dev diagrams/architecture.png | Bin 156315 -> 0 bytes 3 files changed, 92 insertions(+), 2 deletions(-) delete mode 100644 docs/diagrams/architecture.pptx delete mode 100644 docs/images/dev diagrams/architecture.png diff --git a/docs/devGuide/design/architecture.md b/docs/devGuide/design/architecture.md index fa4d54ec60..637295376e 100644 --- a/docs/devGuide/design/architecture.md +++ b/docs/devGuide/design/architecture.md @@ -14,7 +14,96 @@ This page provides an overview of the MarkBind's architecture. -![MarkBind Architecture Diagram](<{{baseUrl}}/images/dev diagrams/architecture.png>) + + graph TD + %% --- Node Styling --- + classDef default fill:#e1ecf4,stroke:#8fbbe4,stroke-width:2px; + classDef header fill:#dae8fc,stroke:#6c8ebf,font-size:16px; + classDef process fill:#e1ecf4,stroke:#b0c4de,text-align:left; + classDef title fill:#6fa8dc,stroke:none,color:white,font-weight:bold; + + %% --- 1. Top Level Structure --- + CLI[index.js #40;cli#41;] + Site[Site] + + %% --- 2. Left Column Components --- + Page[Page] + + LM[LayoutManager
Manages, generates,
and provides layouts
] + Layout[Layout] + + EM[ExternalManager
Manages, generates
Externals
] + External[External] + + %% --- 3. Right Column: Content Processing Subgraph --- + subgraph CPF [Content Processing Flow] + direction TB + %% This invisible node helps force layout width + style CPF fill:#fff,stroke:#3366CC,stroke-width:2px + + VP[1. VariableProcessor
• Manages site variables
• Manages #40;sub#41;site Nunjucks environments, facilitates Nunjucks calls]:::process + + NP[2. NodeProcessor
• Manages Markdown, HTML
processing state for a Page, Layout or External]:::process + + MP[2.1 Markdown Processing
#40;core/lib/markdown-it#41;]:::process + + HEP[2.2 Html element processing
• Render markdown-in-attributes to vue slots
• Flag Externals for generation in
ExternalManager #40;e.g. <panel src='...''>#41;
• Link processing
• Other misc. operations]:::process + end + + %% --- 4. The Legend (Optional Hack to display legend) --- + subgraph LegendBox [Legend] + L1[contains] --- L2[> ] + L3[uses] --- L4[> ] + style LegendBox fill:#fff,stroke:#000 + style L1 fill:#fff,stroke:none + style L2 fill:#fff,stroke:none,color:#3366CC + style L3 fill:#fff,stroke:none + style L4 fill:#fff,stroke:none,color:#F28522 + + linkStyle 0 stroke:#3366CC,stroke-width:2px; + linkStyle 1 stroke:#F28522,stroke-width:2px; + end + + %% --- DEFINING RELATIONSHIPS (Order matters for linkStyle) --- + + %% GROUP 1: BLUE ARROWS (CONTAINS) + %% Indices 2 - 8 + CLI -- 1 --> Site + Site -- * --> Page + Site -- 1 --> LM + Site -- 1 --> EM + LM -- * --> Layout + EM -- * --> External + Site -- 1 --> VP + + %% GROUP 2: ORANGE ARROWS (USES) + %% Indices 9 - 14 + Page --> LM + Page --> EM + LM --> EM + Page --> VP + Layout --> VP + External --> VP + + %% GROUP 3: GREEN ARROWS (FLOW) + %% Indices 15 - 18 + VP --> NP + NP --> MP + MP --> HEP + HEP -- Process <include> recursively --> VP + + %% --- Apply Styles to Links --- + + %% Blue Arrows (Contains) + linkStyle 2,3,4,5,6,7,8 stroke:#3366CC,stroke-width:2px; + + %% Orange Arrows (Uses) + linkStyle 9,10,11,12,13,14 stroke:#F28522,stroke-width:2px; + + %% Green Arrows (Process Flow) + linkStyle 15,16,17,18 stroke:#93C47D,stroke-width:2pxd; + +
The above diagram shows the key classes and content processing flow in MarkBind. You may note the following from these: @@ -61,4 +150,5 @@ Its syntax is also the most compatible and independent of the other stages. 3. Having processed possibly conflicting Nunjucks and Markdown syntax, HTML is then processed last. {% from "njk/common.njk" import previous_next %} -{{ previous_next('projectStructure', 'serverSideRendering') }} \ No newline at end of file +{{ previous_next('projectStructure', 'serverSideRendering') }} + diff --git a/docs/diagrams/architecture.pptx b/docs/diagrams/architecture.pptx deleted file mode 100644 index 00a9748dfb5a6d9880411040288b58da4fdd82bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43983 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 diff --git a/docs/images/dev diagrams/architecture.png b/docs/images/dev diagrams/architecture.png deleted file mode 100644 index b27bb0ecc816b54a414c7415eb834eede86e700d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156315 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 Date: Thu, 29 Jan 2026 16:21:59 +0800 Subject: [PATCH 2/3] Improve readability of diagram --- docs/devGuide/design/architecture.md | 143 ++++++++++++--------------- 1 file changed, 63 insertions(+), 80 deletions(-) diff --git a/docs/devGuide/design/architecture.md b/docs/devGuide/design/architecture.md index f1bb3f2329..b54c7bdb32 100644 --- a/docs/devGuide/design/architecture.md +++ b/docs/devGuide/design/architecture.md @@ -12,96 +12,69 @@
This page provides an overview of the MarkBind's architecture. +
- graph TD - %% --- Node Styling --- - classDef default fill:#e1ecf4,stroke:#8fbbe4,stroke-width:2px; - classDef header fill:#dae8fc,stroke:#6c8ebf,font-size:16px; - classDef process fill:#e1ecf4,stroke:#b0c4de,text-align:left; - classDef title fill:#6fa8dc,stroke:none,color:white,font-weight:bold; - - %% --- 1. Top Level Structure --- - CLI[index.js #40;cli#41;] - Site[Site] - - %% --- 2. Left Column Components --- - Page[Page] - - LM[LayoutManager
Manages, generates,
and provides layouts
] - Layout[Layout] - - EM[ExternalManager
Manages, generates
Externals
] - External[External] - - %% --- 3. Right Column: Content Processing Subgraph --- - subgraph CPF [Content Processing Flow] +graph LR +%% --- Node Styling --- +classDef default fill:#f9f9f9,stroke:#8fbbe4,stroke-width:1px; +classDef process fill:#e1ecf4,stroke:#4a90e2,stroke-width:2px,text-align:left; +classDef manager fill:#dae8fc,stroke:#6c8ebf,font-weight:bold; + + %% --- 1. Entry & Core Entities --- + CLI[index.js CLI] + + subgraph Core [Core Site Structure] + direction LR + Site[Site Object] + Page[Page] + end + + %% --- 2. Resource Management --- + subgraph Managers [Resource Management] direction TB - %% This invisible node helps force layout width - style CPF fill:#fff,stroke:#3366CC,stroke-width:2px - - VP[1. VariableProcessor
• Manages site variables
• Manages #40;sub#41;site Nunjucks environments, facilitates Nunjucks calls]:::process - - NP[2. NodeProcessor
• Manages Markdown, HTML
processing state for a Page, Layout or External]:::process - - MP[2.1 Markdown Processing
#40;core/lib/markdown-it#41;]:::process - - HEP[2.2 Html element processing
• Render markdown-in-attributes to vue slots
• Flag Externals for generation in
ExternalManager #40;e.g. <panel src='...''>#41;
• Link processing
• Other misc. operations]:::process + LM[LayoutManager
Generates Layouts]:::manager + EM[ExternalManager
Generates Externals]:::manager end - %% --- 4. The Legend (Optional Hack to display legend) --- - subgraph LegendBox [Legend] - L1[contains] --- L2[> ] - L3[uses] --- L4[> ] - style LegendBox fill:#fff,stroke:#000 - style L1 fill:#fff,stroke:none - style L2 fill:#fff,stroke:none,color:#3366CC - style L3 fill:#fff,stroke:none - style L4 fill:#fff,stroke:none,color:#F28522 - - linkStyle 0 stroke:#3366CC,stroke-width:2px; - linkStyle 1 stroke:#F28522,stroke-width:2px; + %% --- 3. Processing Pipeline --- + subgraph CPF [Content Processing Flow] + direction LR + VP[1. VariableProcessor
Nunjucks & Vars]:::process + NP[2. NodeProcessor
State Manager]:::process + + subgraph Pipeline [Rendering] + direction LR + MP[Markdown-it]:::process + HEP[HTML/Vue Elements]:::process + end end - %% --- DEFINING RELATIONSHIPS (Order matters for linkStyle) --- - - %% GROUP 1: BLUE ARROWS (CONTAINS) - %% Indices 2 - 8 - CLI -- 1 --> Site - Site -- * --> Page - Site -- 1 --> LM - Site -- 1 --> EM - LM -- * --> Layout - EM -- * --> External - Site -- 1 --> VP - - %% GROUP 2: ORANGE ARROWS (USES) - %% Indices 9 - 14 - Page --> LM - Page --> EM - LM --> EM - Page --> VP - Layout --> VP - External --> VP - - %% GROUP 3: GREEN ARROWS (FLOW) - %% Indices 15 - 18 + %% --- RELATIONSHIPS --- + + %% Structural (Blue) + CLI -- contains --> Site + Site -- contains --> Page + Site -- contains --> Managers + Site -- contains --> VP + + %% Dependencies (Orange) + Page -. uses .-> LM + Page -. uses .-> EM + LM -. uses .-> EM + Page -. uses .-> VP + + %% Processing Flow (Green) VP --> NP NP --> MP MP --> HEP - HEP -- Process <include> recursively --> VP + HEP -- recursive include --> VP - %% --- Apply Styles to Links --- - - %% Blue Arrows (Contains) - linkStyle 2,3,4,5,6,7,8 stroke:#3366CC,stroke-width:2px; - - %% Orange Arrows (Uses) - linkStyle 9,10,11,12,13,14 stroke:#F28522,stroke-width:2px; - - %% Green Arrows (Process Flow) - linkStyle 15,16,17,18 stroke:#93C47D,stroke-width:2pxd; + %% --- Styling Links --- + linkStyle 0,1,2,3 stroke:#3366CC,stroke-width:2px; + linkStyle 4,5,6,7 stroke:#F28522,stroke-width:2px,stroke-dasharray: 5 5; + linkStyle 8,9,10,11 stroke:#2D882D,stroke-width:2px;
@@ -138,24 +111,28 @@ Note that generation of `External`s (e.g. ``) **do not fall wit These are only flagged for generation, and then processed by `ExternalManager` **after**, in **another** similar content processing flow within an `External` instance. -****Rationale**** +\***\*Rationale\*\*** This simple three stage flow provides a simple, predictable content processing flow for the user, and removes several other development concerns: 1. As the templating language of choice, Nunjucks is always processed first, allowing its templating capabilities to be used to the full extent. -Its syntax is also the most compatible and independent of the other stages. + Its syntax is also the most compatible and independent of the other stages. 2. Secondly, Markdown is **rendered before HTML**, which produces more HTML. This also allows core Markdown features (e.g. code blocks) and Markdown plugins with eccentric syntaxes to be used without having to patch the HTML parser. 3. Having processed possibly conflicting Nunjucks and Markdown syntax, HTML is then processed last. ### Demonstrating the content processing flow + To demonstrate the content processing flow, let's take a look at a small toy MarkBind file: + ```markdown {% raw %}{% set myVariable = "Item" %} # A basic level 1 header + There will be 5 items here: +
    {% for item in [1, 2, 3, 4] %}
  • {{ myVariable }} #{{ item }}
  • @@ -168,9 +145,11 @@ A link that gets [converted](contents/topic1.md) ``` At the first step of the processing flow, the `VariableProcessor` converts Nunjucks template code into HTML: + ```markdown {% raw %}# A basic level 1 header There will be 5 items here: +
    • Item #1
    • Item #2
    • @@ -182,11 +161,14 @@ A link that gets [converted](contents/topic1.md) {% endraw %} ``` + Notice that `myVariable` is consumed and that the unordered list is expanded. Next, the NodeProcessor converts Markdown to HTML: + ```markdown {% raw %}

      A basic level 1 header

      +

      There will be 5 items here:

      • Item #1
      • @@ -200,6 +182,7 @@ Next, the NodeProcessor converts Markdown to HTML:

        This is a placeholder page - more content to be added.

        {% endraw %} ``` + It does this by traversing the node graph and matching node titles to their HTML equivalents. This includes custom components as well (e.g. ``). `include` nodes are recursively traversed and converted. From 145e38ef082ab1017dcb88646b048e46b52fff6d Mon Sep 17 00:00:00 2001 From: yihao Date: Sun, 1 Feb 2026 22:31:17 +0800 Subject: [PATCH 3/3] Update to include more details --- docs/devGuide/design/architecture.md | 123 +++++++++++++++++---------- 1 file changed, 78 insertions(+), 45 deletions(-) diff --git a/docs/devGuide/design/architecture.md b/docs/devGuide/design/architecture.md index b54c7bdb32..4a90d67899 100644 --- a/docs/devGuide/design/architecture.md +++ b/docs/devGuide/design/architecture.md @@ -17,64 +17,97 @@ This page provides an overview of the MarkBind's architecture. graph LR -%% --- Node Styling --- -classDef default fill:#f9f9f9,stroke:#8fbbe4,stroke-width:1px; -classDef process fill:#e1ecf4,stroke:#4a90e2,stroke-width:2px,text-align:left; -classDef manager fill:#dae8fc,stroke:#6c8ebf,font-weight:bold; - - %% --- 1. Entry & Core Entities --- - CLI[index.js CLI] - - subgraph Core [Core Site Structure] - direction LR - Site[Site Object] - Page[Page] + %% --- Styling --- + classDef entry fill:#ffe6cc,stroke:#d79b00,stroke-width:2px; + classDef core fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px; + classDef process fill:#e1f5fe,stroke:#4a90e2,stroke-width:2px; + classDef manager fill:#d5e8d4,stroke:#82b366,stroke-width:2px; + classDef vue fill:#f3e5f5,stroke:#b266b3,stroke-width:2px; + classDef output fill:#fff2cc,stroke:#d6b656,stroke-width:2px; + + %% --- 1. Entry Point --- + CLI["index.js
        CLI Entry"]:::entry + + %% --- 2. Core Architecture --- + subgraph Core [Core Site Architecture] + direction TB + Site["Site
        Orchestrates Build"]:::core + Page["Page
        Per-File Processing"]:::core end - %% --- 2. Resource Management --- - subgraph Managers [Resource Management] + %% --- 3. Resource Managers --- + subgraph Managers [Resource Managers] direction TB - LM[LayoutManager
        Generates Layouts]:::manager - EM[ExternalManager
        Generates Externals]:::manager + LM["LayoutManager
        • Generate layouts
        • Combine with page"]:::manager + EM["ExternalManager
        • Generate dependencies
        • Copy assets"]:::manager end - %% --- 3. Processing Pipeline --- - subgraph CPF [Content Processing Flow] - direction LR - VP[1. VariableProcessor
        Nunjucks & Vars]:::process - NP[2. NodeProcessor
        State Manager]:::process + %% --- 4. Content Processing Pipeline --- + subgraph Pipeline [Content Processing Pipeline] + direction TB + + VP["VariableProcessor
        Nunjucks Templates"]:::process - subgraph Pipeline [Rendering] - direction LR - MP[Markdown-it]:::process - HEP[HTML/Vue Elements]:::process + subgraph NodeProcessing [Node Processing] + direction TB + NP["NodeProcessor
        DOM Traversal"]:::process + MP["Markdown Processing
        markdown-it instance"]:::process + Note["Traverses DOM &
        renders markdown attributes into vue slots using markdown-it"]:::process + HP["HTML element processing
        • Link processing
        • Flags externals for generation
        in ExternalManager"]:::process end + + Layout["Apply Layout
        LayoutManager.combine"]:::process end - %% --- RELATIONSHIPS --- + %% --- 5. Vue Rendering Layer --- + subgraph VueLayer [Vue Rendering Layer] + direction TB + VueCompile["PageVueServerRenderer
        1. compileTemplate()
        2. save .page-vue-render.js"]:::vue + SSR["renderVuePage()
        Server-Side Render"]:::vue + Template["Template Rendering
        page.njk"]:::vue + end - %% Structural (Blue) - CLI -- contains --> Site - Site -- contains --> Page - Site -- contains --> Managers - Site -- contains --> VP + %% --- 6. Output & Client --- + subgraph Output [Output & Client] + direction TB + HTML["Static HTML File"]:::output + Hydrate["Client Hydration
        createSSRApp().mount()"]:::output + VueComponents["@markbind/vue-components
        Interactive Components"]:::output + end - %% Dependencies (Orange) - Page -. uses .-> LM - Page -. uses .-> EM - LM -. uses .-> EM - Page -. uses .-> VP + %% --- RELATIONSHIPS --- + CLI --> Site + Site --> Page + Page -. "uses" .-> LM + Page -. "uses" .-> EM + LM -. "uses" .-> EM - %% Processing Flow (Green) + Page --> VP VP --> NP - NP --> MP - MP --> HEP - HEP -- recursive include --> VP - - %% --- Styling Links --- - linkStyle 0,1,2,3 stroke:#3366CC,stroke-width:2px; - linkStyle 4,5,6,7 stroke:#F28522,stroke-width:2px,stroke-dasharray: 5 5; - linkStyle 8,9,10,11 stroke:#2D882D,stroke-width:2px; + NP --> Layout + Layout --> VueCompile + EM --> VueCompile + + NP -. "uses" .-> MP + MP -.-> HP + HP -.-> Note + VueCompile --> SSR + SSR --> Template + Template --> HTML + + HTML --> Hydrate + Hydrate --> VueComponents + + Note -. "recursive" .-> VP + + %% Styling Links + linkStyle 0,1 stroke:#3366CC,stroke-width:3px + linkStyle 2,3,4 stroke:#F28522,stroke-width:2px,stroke-dasharray: 5 5 + linkStyle 5,6,7,8,9 stroke:#2D882D,stroke-width:3px + linkStyle 10,11,12 stroke:#b266b3,stroke-width:2px,stroke-dasharray: 5 5 + linkStyle 13,14,15 stroke:#b266b3,stroke-width:3px + linkStyle 16 stroke:#d6b656,stroke-width:3px + linkStyle 17,18 stroke:#82b366,stroke-width:2px