#+TITLE: tonybtw.com * About Source for [[https://tonybtw.com][tonybtw.com]], a static site built from Markdown with a =Makefile= and [[https://pandoc.org][pandoc]]. No Hugo, no framework, no npm. The look matches [[https://forums.tonybtw.com][forums.tonybtw.com]]: Tokyo Night colours, Iosevka, and the vim-style modeline along the bottom. * Layout - =content/= — Markdown sources (the source of truth). =tutorial//index.md= and =community//index.md=. - =template.html= — the one pandoc HTML template (nav + article + modeline). - =gen.sh= — builds the derived pages (home, section lists, tag pages, support) from front matter, through the same template. - =assets/= — =css/site.css=, =fonts/= (subset Iosevka woff2), =img/=, =.well-known/=. - =Makefile= — =content/**/*.md= -> =public/**/*.html= via pandoc, then =gen.sh=, then copies =assets/=. - =public/= — build output (git-ignored). * Requirements - [[https://nixos.org/download.html][Nix]] with flakes enabled. The dev shell provides pandoc, make, python3. * Usage #+begin_src sh nix develop make # builds ./public make serve # builds, then serves ./public at http://localhost:1313 #+end_src Reproducible build without a dev shell: #+begin_src sh nix build # result -> ./result #+end_src * Writing a tutorial Create =content/tutorial//index.md= with YAML front matter, then the body: #+begin_src yaml --- title: "My Tutorial" date: 2026-01-01 description: "One-line blurb used on cards and meta tags." image: "/img/my-tutorial.png" video: "https://www.youtube.com/watch?v=XXXXXXXXXXX" # optional video hero --- #+end_src The heading structure (=##=, =###=) becomes the sidebar table of contents. Put the card thumbnail (16:9) in =assets/img/=. * Contributing (community) 1. Copy an existing post to =content/community//index.md=. 2. Front matter: =title=, =date=, =author=, and =tags: ["a", "b"]= (tags become =/tags/= pages). 3. Put screenshots under =assets/img/community//= and reference them in the body as =![alt](/img/community/you/shot.png)=. 4. Submit a pull request with your =index.md= and images.