67 lines
2.2 KiB
Markdown
67 lines
2.2 KiB
Markdown
|
|
# Roux
|
||
|
|
|
||
|
|
A slow-publishing fashion journal — one hundred photographs at a time.
|
||
|
|
Editorial, couture, beauty and backstage plates.
|
||
|
|
|
||
|
|
**Live:** [roux.pivoine.art](https://roux.pivoine.art)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Stack
|
||
|
|
|
||
|
|
| Layer | Tool |
|
||
|
|
|---|---|
|
||
|
|
| Static site generator | Hugo Extended |
|
||
|
|
| CSS | Tailwind CSS v4 |
|
||
|
|
| JavaScript | Vanilla (no framework) |
|
||
|
|
| Package manager | pnpm |
|
||
|
|
| Server | nginx (Docker) |
|
||
|
|
|
||
|
|
## Development
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pnpm install
|
||
|
|
pnpm dev # Tailwind watch + Hugo dev server (http://localhost:1313)
|
||
|
|
```
|
||
|
|
|
||
|
|
## Build
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pnpm build # compile CSS → hugo --minify → public/
|
||
|
|
```
|
||
|
|
|
||
|
|
The compiled CSS at `static/css/main.css` is a build artefact and gitignored. Always run `pnpm build:css` (or `pnpm build`) before committing changes that affect Tailwind output.
|
||
|
|
|
||
|
|
## Content
|
||
|
|
|
||
|
|
Posts live in `content/posts/<slug>/` as Hugo page bundles. Each bundle contains:
|
||
|
|
- `index.md` — frontmatter with `plate`, `title`, `description`, `categories`, `tags`, `issues`, optional `featured: true`
|
||
|
|
- `<slug>.png` — the plate image (used for thumbnails, lightbox, og:image)
|
||
|
|
|
||
|
|
Issues are defined in `content/issues/<id>/_index.md`.
|
||
|
|
|
||
|
|
### Importing posts
|
||
|
|
|
||
|
|
Content is sourced from `~/projects/ginger/posts.csv` and matching images in `~/projects/ginger/images/final/selected/`:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python3 scripts/import-posts.py
|
||
|
|
```
|
||
|
|
|
||
|
|
This creates or updates page bundles, assigns plate numbers (sorted alphabetically by filename for stability), normalises descriptions, and copies images.
|
||
|
|
|
||
|
|
## Design tokens
|
||
|
|
|
||
|
|
All colours, fonts, and spacing are defined in `assets/css/main.css` inside `@theme {}` and mirrored as CSS custom properties in `:root`. Edit there — not in a Tailwind config file (v4 has none).
|
||
|
|
|
||
|
|
Key tokens: `--color-paper` `--color-ink` `--color-roux` `--font-display` `--font-serif` `--font-sans` `--pad` `--gap`
|
||
|
|
|
||
|
|
## Deployment
|
||
|
|
|
||
|
|
The repo includes `nginx.conf` and a `Dockerfile` for containerised deployment. Build the image and serve `public/` via nginx. Analytics (Umami) are injected only when `HUGO_ENVIRONMENT=production`.
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
All editorial content, photographs, and design © Roux MMXXVI. All rights reserved.
|
||
|
|
Contents are explicitly excluded from AI/ML training use without written consent.
|