summaryrefslogtreecommitdiffstats
path: root/WORKFLOW.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-26 18:18:10 +0200
committerDanilo M. <danix@danix.xyz>2026-06-26 18:18:10 +0200
commit0ea896046016cf11cae89c85cc62a8027f6c3a3d (patch)
tree9e0f255e15bcbbabcce37595cc53f7c8375ae6bc /WORKFLOW.md
parenta5fd7accc41cdab61fbce03871a315cf5e8139e5 (diff)
downloaddanixxyz-release_26062026-1819.tar.gz
danixxyz-release_26062026-1819.zip
docs: document Slackware project pages in CLAUDE.md and WORKFLOW.mdrelease_26062026-1819
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'WORKFLOW.md')
-rw-r--r--WORKFLOW.md95
1 files changed, 95 insertions, 0 deletions
diff --git a/WORKFLOW.md b/WORKFLOW.md
index f142fcd..3f8585e 100644
--- a/WORKFLOW.md
+++ b/WORKFLOW.md
@@ -113,6 +113,101 @@ Add a menu entry in `hugo.toml` with `params.external = true`:
---
+## Working with Slackware Project Pages
+
+The **Slackware** section (`/slackware/`) is a hub that aggregates long-form
+project pages — the official reference for each project, distinct from dated
+articles. The hub lists every project as a styled row; each project gets its
+own full page. Add a project by dropping a folder; it appears on the hub
+automatically.
+
+### Add a project
+
+```bash
+cd ~/Programming/GIT/danix.xyz-hacker-theme
+mkdir -p content/en/slackware/my-project content/it/slackware/my-project
+# create index.md in each (see schema below)
+# drop the two images in each folder (see image roles below)
+git add content/en/slackware/my-project content/it/slackware/my-project
+git commit -m "content: add slackware project 'my-project'"
+git push origin master
+# then deploy:
+git checkout production && git merge master && git push origin production && git checkout master
+```
+
+### Project front-matter (light schema)
+
+```toml
++++
+title = "My Project"
+tagline = "One-line what-and-why, shown under the title."
+status = "active" # active | maintained | wip | archived
+repo_url = "https://git.danix.xyz/my-project" # optional, renders a "View repository" button
+tags = ["bash", "slackbuild"] # shared site taxonomy + tech pills
++++
+
+Freeform markdown body: what it is, how it works, rationale. Any headings
+or shortcodes.
+```
+
+- **status** → colored badge (theme-aware vars, WCAG-AA text): `active`=green,
+ `maintained`=blue, `wip`=amber, `archived`=muted. It's a plain string you
+ set by hand — not derived from git.
+- **tags** feed BOTH the rendered tech pills AND the global `tags` taxonomy,
+ so `/tags/bash/` lists this project alongside any article tagged `bash`.
+ Projects are also included in the site search index.
+- **tagline** / **repo_url** are optional.
+
+### Image roles (inferred by filename, no front-matter)
+
+Drop these as page resources **inside the project folder** (next to `index.md`):
+
+| File | Role | Recommended size |
+|---|---|---|
+| `thumbnail.jpg` | Row image on the `/slackware/` hub | 3:2 landscape, ~900×600 |
+| `header.jpg` | Full-width banner above the title on the project page | wide, ~1920×480 |
+
+- Any extension works (`.jpg`/`.png`/`.webp`); they're matched as `thumbnail.*` / `header.*`.
+- If `thumbnail.*` is absent, the row falls back to a mono-glyph block (first
+ two letters of the title on an accent panel).
+- If `header.*` is absent, the project page simply has no banner.
+- Put copies in BOTH the EN and IT project folders so each language renders
+ its own images.
+
+### Add a project to the Slackware submenu (optional)
+
+Projects appear on the hub automatically. To ALSO list one in the desktop
+submenu / mobile sub-list under "Slackware", add a menu block to its
+front-matter (the label falls back to the page title):
+
+```toml
+[menus.main]
+ parent = "slackware"
+ weight = 10
+```
+
+The "Packages" entry (the package-repository page) is always in this submenu,
+configured in `hugo.toml`.
+
+### Edit the hub's intro text
+
+The "why Slackware" prose at the top of `/slackware/` is the freeform body of
+`content/{en,it}/slackware/_index.md`. Edit it like any markdown; the project
+rows render below it.
+
+### Delete a project
+
+```bash
+cd ~/Programming/GIT/danix.xyz-hacker-theme
+git rm -r content/en/slackware/my-project content/it/slackware/my-project
+git commit -m "content: remove slackware project 'my-project'"
+git push origin master
+# then deploy:
+git checkout production && git merge master && git push origin production && git checkout master
+```
+
+---
+
## Working on the Theme
You have two equivalent ways to edit the theme. Pick one based on context.