This is a bilingual (Persian/English) personal technical blog published at narmnevis.github.io.
- Zola 0.22.1 — static site generator (Rust-based)
- Tera — templating engine (Jinja2-inspired)
- SCSS — compiled by Zola, output to
public/main.css - just — task runner (
Justfile) - mise — tool version manager (
mise.toml) - GitHub Actions — auto-deploys on push to
master(.github/workflows/deploy.yml)
- Posts live in
content/blog/YYYY/MM/ - Persian posts:
post.fa.md→ served at/fa/blog/YYYY/MM/post/ - English posts:
post.md→ served at/blog/YYYY/MM/post/ - Front matter is TOML (
+++); language/direction set via[extra](lang,dir) - All existing posts (2018) are in Persian (
lang = "fa",dir = "rtl")
templates/base.html— base layout; readspage.extra.langandpage.extra.dirfor HTML attributestemplates/index.html— bilingual landing pagetemplates/section.html— post listing (used by both EN and FA sections)templates/page.html— individual post; includes reading progress bar, back-to-top, Disqus
sass/main.scss— single stylesheet; uses CSS custom properties for dark mode (prefers-color-scheme)- RTL layout handled via
html[dir="rtl"]selectors - Fonts: Vazir (Persian, via jsDelivr npm CDN), system-ui (Latin), JetBrains Mono (code, via Google Fonts)
- Code blocks are always
direction: ltrregardless of page direction
just install # install zola via mise (first time)
just serve # local dev server at http://localhost:1111
just build # clean build → public/
just check # validate all internal and external linkspublic/is gitignored — built by GitHub Actions on deploystatic/contains onlydisqus.html(loaded directly intemplates/page.html)- Transparent
_index.md/_index.fa.mdfiles in each year/month subdir are required for Zola's section routing - Pandoc-era artifacts (
filters/,static/_template.html,static/default.css,Justfile: build-post/build-pdf, top-levelindex.htmlsymlink) were removed in the 2026-04 cleanup; seedocs/authoring-tools-audit.md§7