A web compendium of vexillology (flag study), by Flagstaff.
This is a static site β no framework, no build step required for deployment. The repository itself is the deployable content for GitHub Pages.
- HTML pages are pre-generated from flag data using
build.js - Bulma CSS and Font Awesome loaded from CDN
- Minimal vanilla JS (
app.js) for keyboard navigation and mobile menu - Zero runtime dependencies β
build.jsuses only Node.js built-ins
- Flag metadata lives in
data/flags.json - Per-flag details (colors, descriptions, articles) live in
assets/flags/{namespace}/ build.jsreads the data, renders Markdown, and generates static{flagId}/index.htmlpages- SVG flag images are copied from
assets/flags/into each flag directory - The result is a flat structure where
source = deployable output
node build.jsNo npm install needed β the build script has zero dependencies.
npx serve . -l 3000
# or
python3 -m http.server 3000βorpβ Previous flagβornβ Next flagiβ Flag index
βββ data/ # Source data (flags.json, meta.json, etc.)
βββ assets/flags/ # Flag SVG/PNG images and per-flag JSON/MD
βββ build.js # Static site generator (Node.js, zero deps)
βββ style.css # Custom CSS (Bulma from CDN)
βββ app.js # Minimal JS (keyboard nav, burger menu)
βββ index.html # Landing page
βββ flag-index/ # Flag listing page
βββ {flagId}/ # Per-flag pages
β βββ index.html # Generated page
β βββ flag.svg # Flag image (copied from assets/)
βββ flags.json # Flag data (also served as API)
βββ CNAME # GitHub Pages custom domain
βββ .nojekyll # Disable Jekyll processing
Push to gh-pages (or configure GitHub Pages to serve from the default branch).
Since source = output, no CI/CD build step is needed.
MIT