From ad032a08b800961997a33880e9ab9e6234a253b9 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 26 Jun 2026 16:56:30 +0200 Subject: docs: add Slackware projects section design spec Co-Authored-By: Claude Opus 4.8 --- ...2026-06-26-slackware-projects-section-design.md | 206 +++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-26-slackware-projects-section-design.md (limited to 'docs') diff --git a/docs/superpowers/specs/2026-06-26-slackware-projects-section-design.md b/docs/superpowers/specs/2026-06-26-slackware-projects-section-design.md new file mode 100644 index 0000000..eed2061 --- /dev/null +++ b/docs/superpowers/specs/2026-06-26-slackware-projects-section-design.md @@ -0,0 +1,206 @@ +# Slackware Projects Section — Design + +Date: 2026-06-26 +Status: approved (pending written-spec review) + +## Goal + +Give each Slackware-centric project a long-lived, official reference page (not +a dated blog post): what it is, how it works, the rationale. Aggregate these +under a new "Slackware" hub page that also explains why Danilo uses Slackware. +Restructure the main menu to introduce the hub. + +## Scope + +In scope: +- New `slackware` Hugo section (EN + IT), one page per project via folder drop. +- Slackware landing/hub page (clickable) that lists project pages as styled rows. +- Light front-matter schema + per-project header partial. +- Menu restructure: rename two entries, add "Slackware" parent with a desktop + hover submenu and a mobile indented sub-list. +- Project tech tags reuse the existing shared `tags` taxonomy. +- Extend site search index to include the `slackware` section. + +Out of scope (YAGNI): +- Live git/cgit status fetching (status is a front-matter string). +- A second/standalone desktop nav system (we extend the existing one). +- Tag filtering UI on the hub (taxonomy term pages already aggregate). + +## Menu restructure + +Current main menu: Articles, About, Contact, Git Repository (→git.danix.xyz, +external), Repo (→/repository), Privacy. + +Target: +- Articles — unchanged +- About — unchanged +- Contact — unchanged +- **Projects** — renamed from "Git Repository". Still → https://git.danix.xyz/, + keeps `external = true` (external glyph + new tab). +- **Slackware** — NEW. Clickable → `/slackware/` landing page. Parent of: + - **Packages** — renamed from "Repo". → internal `/repository` page. NO + external glyph (it's an internal Hugo page). Nested under Slackware. + - (each project page also appears in the submenu) +- Privacy — unchanged + +Implemented in `hugo.toml` via Hugo menu nesting: child entries get +`parent = "slackware"`. Both `languages.it.menus.main` and +`languages.en.menus.main` updated symmetrically. + +### Desktop submenu (header.html) + +The desktop nav (`hidden md:flex`) gets nesting for items that have +`.Children`: +- Wrap the parent item in a `group relative` container. +- Parent link → landing page (`/slackware/`). +- Submenu: a row of links, `hidden group-hover:flex group-focus-within:flex`, + absolutely positioned, centered, full-width-ish below the bar. A small + padding "bridge" prevents hover flicker in the gap between row and submenu. +- A11y: `group-focus-within:flex` reveals the submenu on keyboard Tab as well + as mouse hover. Parent gets `aria-haspopup="true"`; submenu container is a + `