Skip to content

Latest commit

 

History

History

README.md

Anthias Website

This is the source code for anthias.screenly.io, built with Hugo and Tailwind CSS v4.

Local Development

The site needs the Tailwind output and self-hosted fonts to be generated before Hugo serves anything. Run the bun pipeline once, then start Hugo (or use bun run dev to do both with watchers):

cd website
bun install
bun run css:build      # generates assets/styles/style.css and static/fonts/
hugo server

Or, with hot reload on CSS + templates:

cd website
bun run dev            # bun css:watch + hugo server in parallel

The site will be available at http://localhost:1313.

Skipping the bun step will load the page with broken styling and 404s for /fonts/...woff2 — the font files come from the npm package @fontsource/plus-jakarta-sans and are materialized at build time, not committed. Icons are handled the same way: bun run icons:install copies a curated subset of Font Awesome SVGs from @fortawesome/fontawesome-free into assets/images/icons/ (gitignored). Both run automatically as part of css:build / css:watch.

Home-page screenshot slider

The hero on / is a slider fed by PNGs in assets/images/screenshots/. The directory is gitignored — captures are produced by the marketing-screenshots.yaml workflow and pulled into the build at deploy time. To preview the real slider locally:

bun run screenshots:fetch     # latest successful master run
bun run dev

The fetch script needs the gh CLI authenticated; it targets Screenly/Anthias by default so the upstream artifact is reachable even from a fork clone. Pass --ref <branch> to pull from a different branch's most recent run, or --repo <owner>/<repo> to point at a different repo. Without screenshots, Hugo still builds — the slider section simply omits.

Build

cd website
bun run build          # bun css:build && hugo

Output goes to website/public/.

Project Structure

website/
├── assets/                       # Hugo Pipes inputs
│   ├── docs/                     # Doc images / d2 diagram
│   ├── fonts/                    # Generated by bun fonts:install (gitignored)
│   ├── images/                   # Site images, logos, hero
│   └── styles/                   # Built Tailwind + chroma stylesheets
├── content/
│   ├── _index.md
│   ├── api.md                    # /api/ — OpenAPI rendered server-side
│   ├── docs/                     # /docs/* (rendered via layouts/docs/)
│   ├── faq.md                    # /faq/ — driven by data/faq.yaml
│   ├── features.md
│   └── get-started.md
├── data/
│   ├── faq.yaml                  # FAQ entries grouped by section
│   └── openapi.yaml              # drf-spectacular dump for the /api/ page
├── layouts/
│   ├── _default/
│   │   ├── _markup/              # Goldmark render hooks (image, blockquote)
│   │   ├── api.html              # /api/ template
│   │   ├── baseof.html           # Base HTML
│   │   ├── faq.html              # /faq/ template
│   │   └── ...
│   ├── docs/                     # /docs/ list and single layouts
│   ├── index.html                # Home page
│   └── partials/                 # navbar, footer
├── scripts/
│   └── install-fonts.ts          # Materializes Plus Jakarta Sans from npm
├── src/
│   └── main.css                  # Tailwind entrypoint
├── static/
│   ├── fonts/                    # Generated by bun fonts:install (gitignored)
│   └── robots.txt
├── hugo.toml                     # Hugo configuration
├── package.json                  # Bun scripts: dev / css:build / fonts:install
└── public/                       # Build output (gitignored)