This commit is contained in:
@@ -112,6 +112,40 @@ prefers reduced motion. When hero styles or behavior change, increment the
|
||||
corresponding `style.css` or `section-heroes.js` cache-busting version in
|
||||
`templates/base.html`.
|
||||
|
||||
## Homepage tag discovery
|
||||
|
||||
The homepage ends with an **Explore the Signal** topic matrix immediately after
|
||||
Recent Activity and Featured Projects and before the site footer. It is a
|
||||
server-rendered discovery route over the canonical child records under
|
||||
`content/tags/`; it does not maintain a separate topic list. Each topic is a
|
||||
normal link to its dedicated `/tags/<slug>/` page and includes its current
|
||||
published usage count.
|
||||
|
||||
Counts use the same discovery scope as the tag directory and dedicated tag
|
||||
pages: projects, project devlog entries, blog entries, and articles. The matrix
|
||||
uses four restrained visual levels for counts of 0–1, 2–3, 4–7, and 8 or more.
|
||||
The displayed count remains exact while the highest visual level is capped, so
|
||||
a frequently used tag cannot dominate the layout. Tag records and content
|
||||
changes update the matrix automatically on the next normal project-aware build.
|
||||
|
||||
`assets/static/tags.js` progressively updates the Tag Summary readout when a
|
||||
visitor hovers or focuses a topic. The summary is optional enhancement only:
|
||||
every link remains visible, keyboard accessible, touch friendly, and usable
|
||||
with JavaScript disabled. Styling lives in `assets/static/style.css`, uses the
|
||||
existing Labyricorn gold treatment, wraps without horizontal scrolling, and
|
||||
removes the small focus/hover lift for reduced-motion users. When these assets
|
||||
change, increment their cache-busting versions in `templates/base.html`.
|
||||
|
||||
After changing the homepage matrix:
|
||||
|
||||
1. Run `python scripts/build_with_projects.py --output-path build` with the
|
||||
Lektor runtime documented below.
|
||||
2. Confirm the generated homepage topic count matches the tracked registry and
|
||||
every topic links to its existing tag page with the expected usage count.
|
||||
3. Check desktop and narrow layouts, keyboard focus, the summary enhancement,
|
||||
normal link navigation, and the transition into the footer.
|
||||
4. Run `python -m unittest discover -s tests -v` and `git diff --check`.
|
||||
|
||||
## Routine content workflow
|
||||
|
||||
Edit in a normal Git checkout, review the changes, and push them to `main`.
|
||||
|
||||
Reference in New Issue
Block a user