Complete process from local markdown editing to published GitHub Pages site
flowchart TD
subgraph Local["💻 Local Development"]
Start["Edit Markdown Files"]:::startNode
Serve["mkdocs serve
(Preview locally)"]:::processNode
Build["mkdocs build
(Generate static site)"]:::buildNode
Decision{"Build
Successful?"}:::decisionNode
Commit["git add & commit
(Save changes)"]:::gitNode
end
subgraph GitHub["🔧 Git/GitHub"]
Push["git push origin main
(Upload source)"]:::gitNode
Deploy["mkdocs gh-deploy
(Build + push gh-pages)"]:::gitNode
Receive["GitHub receives
gh-pages push"]:::githubNode
end
subgraph Pages["🌐 GitHub Pages Service"]
GHBuild["GitHub Pages Build
(Copy to CDN)"]:::githubNode
CDN["Deploy to CDN
(Global distribution)"]:::githubNode
Live["🎉 Site Live at
username.github.io/repo/"]:::endNode
end
Start --> Serve
Serve --> Build
Build --> Decision
Decision -->|No
Fix errors| Start
Decision -->|Yes| Commit
Commit --> Push
Push --> Deploy
Deploy --> Receive
Receive --> GHBuild
GHBuild --> CDN
CDN --> Live
Live -.->|Continue
development| Start
classDef startNode fill:#43aa8b,stroke:#2d6a4f,stroke-width:3px,color:#fff
classDef processNode fill:#4facfe,stroke:#3498db,stroke-width:2px,color:#fff
classDef buildNode fill:#4facfe,stroke:#3498db,stroke-width:2px,color:#fff
classDef decisionNode fill:#ffd166,stroke:#f77f00,stroke-width:2px,color:#333
classDef gitNode fill:#f77f00,stroke:#d67000,stroke-width:2px,color:#fff
classDef githubNode fill:#9b59b6,stroke:#8e44ad,stroke-width:2px,color:#fff
classDef endNode fill:#43aa8b,stroke:#2d6a4f,stroke-width:3px,color:#fff