MkDocs static site (Material theme), deployed via GitHub Pages.
Python venv at .venv/; deps in requirements.txt.
git clone --recurse-submodules git@github-personal:codingismeditation/codingismeditation.github.io.git
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt
mkdocs serve --dev-addr 0.0.0.0:6001 # port 6000 blocked by Chrome
mkdocs build
mkdocs gh-deploy --force # --force keeps gh-pages branch cleanUser config is required before any commit:
git config user.name "kintsugi-programmer"
git config user.email "siddhant.bali.work@gmail.com"Three active submodules under kintsugi-programmer/:
| Path | Repo | Section type |
|---|---|---|
docs/exploration/fastapi/ |
kintsugi-stack-fastapi |
Single-page section in Explorations |
docs/exploration/bun/ |
kintsugi-stack-bun |
Single-page section in Explorations |
docs/tech-current-affairs/ |
tech-current-affairs |
Top-level section with sub-pages |
Two distinct content patterns:
- Explorations: One
index.mdper submodule, referenced directly in nav - Tech Current Affairs:
index.mdlists articles; each article is a separate markdown file (<date>-<slug>.md); nav has sub-entries
After adding/updating a submodule, update:
mkdocs.ymlnav sectiondocs/index.md(home page)- Section overview page (e.g.,
docs/exploration/index.md)
Submodules use HTTPS URLs in .gitmodules but some repos (e.g., kintsugi-stack-bun) require SSH for push. Check the submodule's remote and switch if needed:
git remote set-url origin git@github-personal:kintsugi-programmer/<repo>.gitCommit pattern for submodule changes:
# Inside submodule
git add -A && git commit -m "<prefix>: <message>"
git push origin HEAD:main # use HEAD:main when in detached HEAD
# Back in main repo
git add <submodule-path> && git commit -m "fix: update submodule pointer"
git push origin main && mkdocs gh-deploy --forceSubmodules often end up in detached HEAD; always use git push origin HEAD:main.
Nav in mkdocs.yml has two top-level groups:
- Explorations — section with Overview/ FastAPI/ Bun sub-pages
- Tech Current Affairs — section with Overview and article sub-pages
Other nav items: Home, About, Contributing.
- Social card plugin: custom layout at
layouts/custom.yml, background atlayouts/background.png;debug: truekeeps card generation visible .cache/plugin/stores generated social cards and committer data (not committed)site/is build output (not committed, in.gitignore)- Mermaid diagrams supported via
pymdownx.superfencescustom fence - Two plugins disabled/commented out in
mkdocs.ymlbut active in.git/config:git-committers(commented) andgit-revision-date-localized(active) - No CI/CD, tests, linters, formatters, or typecheckers
docs:, fix:, chore:, deploy:, feat:
- Blank line after each heading before the next content
- Blank line before and after each list to separate from adjacent content
These exist in .git/config but have no directory or gitlink entry:
docs/backend-art, docs/interview/dbms, docs/interview/networking, docs/interview/sql-ds
- VSCode project settings in
settings.json— enables MkDocs Material YAML schema validation - Custom footer template in
overrides/main.html