Alexander Whitestone 4fcd6a795f feat: complete The Scrolls blog — post pages, linked index, RSS, auto-rebuild (#217)
- build.py: generates individual HTML post pages from markdown
- build.py: index now links to individual post pages
- build.py: minimal markdown-to-HTML converter (paragraphs, headers, bold, italic, code, links, blockquotes)
- aw-post: auto-rebuilds blog after creating a new post
- .gitignore: excludes generated post HTML (build artifacts)
- Sample post: Hello World with content exercising all formatters
- Atom feed now includes full HTML content in entries

Closes #217, partially addresses #218 (RSS feed) and #219 (CLI tool)
2026-03-18 21:42:56 -04:00

The Wizard's Tower

AlexanderWhitestone.com — two rooms, nothing else.

Rooms

  • The Workshop (/world/) — A 3D space where Timmy lives. Visitors enter and interact.
  • The Scrolls (/blog/) — Alexander's words. Plain text, RSS, sovereign publishing.

Structure

index.html          Entry hall — two doors
world/              The Workshop (3D scene, Timmy presence)
blog/               The Scrolls (posts, RSS feed)
scripts/            CLI tools (aw-post for quick publishing)
static/             Shared assets (fonts, favicon)
Makefile            Build, dev, deploy

Development

make dev     # Local dev server on :8080
make build   # Build static site
make deploy  # Deploy (configure target in Makefile)

Tech Decisions (Open)

  • 3D engine: Three.js vs Babylon.js
  • Blog: Hugo vs hand-rolled static generator
  • Hosting: self-hosted Nginx/Caddy vs static CDN
  • Timmy's 3D character design

Philosophy

Two doors. No navbar. No sidebar. No footer links. You walk in, you choose a room. The Workshop is alive. The Scrolls are permanent. That's the Tower.

Description
Public-facing interface for Timmy — AlexanderWhitestone.com
Readme 74 KiB
Languages
Python 38.6%
HTML 34.6%
JavaScript 13%
Shell 10.9%
Makefile 2.9%