diff options
Diffstat (limited to 'WORKFLOW.md')
| -rw-r--r-- | WORKFLOW.md | 95 |
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. |
