This commit is contained in:
@@ -40,15 +40,17 @@ making changes; it is the authoritative operations and deployment runbook.
|
||||
|
||||
## Tags and filtering
|
||||
|
||||
- Treat the child records under `content/tags/` as the single controlled tag
|
||||
vocabulary. Their lowercase, hyphenated directory names are the canonical
|
||||
slugs stored in entry `tags` fields and used in public tag URLs.
|
||||
- Keep the entry model's checkbox choices dynamically sourced from
|
||||
`content/tags/`; do not duplicate the vocabulary in model configuration or
|
||||
introduce free-form spelling and capitalization variants.
|
||||
- Add a tag record before assigning its slug to an entry. When renaming or
|
||||
retiring a tag, update all references deliberately and verify that no orphan
|
||||
slug or broken tag URL remains.
|
||||
- Treat the child records under `content/tags/` as the tracked tag registry.
|
||||
Their lowercase, hyphenated directory names are the canonical slugs used in
|
||||
public tag URLs. Entry `tags` fields may also contain normalized freeform
|
||||
slugs without matching registry records.
|
||||
- Keep the entry model's tracked checkbox choices dynamically sourced from
|
||||
`content/tags/`; do not duplicate the registry in model configuration.
|
||||
Freeform entry tags remain visible but nonlinked and are excluded from
|
||||
tracked-tag discovery.
|
||||
- Tracking or untracking a slug must not rewrite content references. Slug
|
||||
renaming is separate: update all references deliberately and verify that no
|
||||
old slug or broken tag URL remains.
|
||||
- Preserve normal links to dedicated tag pages as the no-JavaScript baseline.
|
||||
Client-side filtering must remain a progressive enhancement with semantic
|
||||
buttons, keyboard support, and an announced result count.
|
||||
@@ -86,10 +88,10 @@ making changes; it is the authoritative operations and deployment runbook.
|
||||
- When template changes rely on updated CSS or other static assets, increment
|
||||
the relevant cache-busting version in the template and verify that generated
|
||||
pages reference the new asset URL.
|
||||
- For taxonomy changes, verify every entry tag has a matching `content/tags/`
|
||||
record, tag counts match rendered project/devlog/blog/article usage,
|
||||
dedicated tag URLs build, and listing filters work with valid, absent, and
|
||||
unknown query values.
|
||||
- For taxonomy changes, verify tracked-tag counts match rendered
|
||||
project/devlog/blog/article usage, freeform tags remain visible and unlinked,
|
||||
dedicated tracked-tag URLs build, and listing filters work with valid,
|
||||
absent, and unknown query values.
|
||||
- Run `git diff --check` and review the exact diff before committing.
|
||||
- If a push was requested, verify the Gitea Action result, deployed revision,
|
||||
and site health instead of treating a successful `git push` as completion.
|
||||
|
||||
Reference in New Issue
Block a user