# tui-pages website Static marketing site for the [`tui-pages`](https://gitlab.com/filipriec/tui-pages) Rust crate. No build step required — open `index.html` in a browser and you're done. ## Stack | Layer | Tech | Source | | --- | --- | --- | | HTML | Hand-written semantic | `*.html` | | CSS framework | Tailwind CSS v3 (Play CDN) | runtime | | Components | DaisyUI v4 (prebuilt CSS) | runtime | | Interactivity | HTMX 2 | runtime | | Light JS | Alpine.js 3 | runtime | | Code highlight | highlight.js 11 (Rust, TOML, Bash) | runtime | | Fonts | Inter + JetBrains Mono (Google Fonts) | runtime | | Icons | Lucide (inline SVG) | hand-written | | Page transitions | View Transitions API (native) | n/a | Everything is loaded from public CDNs. The only thing served from this repo is the HTML, our small `static/css/site.css` layer, and the SVG assets in `static/img/`. ## Local development ```bash # Just open the file xdg-open index.html # Linux open index.html # macOS # Or serve it (recommended — gives you a stable URL for htmx) python3 -m http.server 8000 # then visit http://localhost:8000 ``` The `Makefile` wraps the Python server and a few convenience commands: ```bash make serve # python3 -m http.server 8000 make size # report file sizes make validate # quick HTML syntax check (search for unclosed tags) make tidy # run html-tidy on every .html (warnings only) make ascii # regenerate the body-rain ASCII art (needs `chafa`) ``` ## Animated ASCII body background The page background is **animated ASCII art** generated by [`chafa`](https://github.com/hpjansson/chafa) from a stripped-down version of the Open Graph card (`static/img/og-image-bg.svg` — black background, grid, the `tui-pages` wordmark, the "A framework for / building TUIs in Rust." headline, and the subtitle, with the install button cropped out because chafa was rendering it as a row of `@` symbols). The art is plain text inside `
` blocks; the animation is pure CSS.

```
static/ascii/rain.txt     ← 240 × ~50 grid of og-image-bg.svg
```

To re-render after changing the source SVG (you need `chafa` on `$PATH`,
or run inside `nix develop`):

```bash
make ascii
```

The source SVG is committed (`static/img/og-image-bg.svg`) so `make ascii`
is fully reproducible — no ImageMagick, no cropping step.

### How it's wired

- A single `