This commit is contained in:
@@ -144,18 +144,27 @@ entry before its tag record exists. To rename or retire a tag, update every
|
||||
referencing entry deliberately and verify that no old slug remains before
|
||||
renaming or removing its record.
|
||||
|
||||
`/tags/` lists every approved tag and counts its usage across blog entries and
|
||||
articles. Dedicated tag URLs list matching entries from both sections. Tag
|
||||
links are normal links and work without JavaScript. On the Blog and Articles
|
||||
listing pages, `assets/static/tags.js` progressively adds instant filtering and
|
||||
keeps the selected filter in the `tag` query parameter.
|
||||
`/tags/` lists every approved tag and counts its usage across projects, blog
|
||||
entries, and articles. Dedicated tag URLs combine matching records from all
|
||||
three sections in one chronological discovery feed. Tag links are normal links
|
||||
and work without JavaScript. On the Projects, Blog, and Articles listing pages,
|
||||
`assets/static/tags.js` progressively adds instant filtering and keeps the
|
||||
selected filter in the `tag` query parameter.
|
||||
|
||||
Remote-project languages and declared technologies are normalized to slugs and
|
||||
matched only against this controlled vocabulary. Their approved matches become
|
||||
clickable tags and a deduplicated `taxonomy_tags` field used by filters, counts,
|
||||
and tag pages. A label that has no approved record remains visible and
|
||||
non-clickable in mustard, produces a build warning, and is excluded from tag
|
||||
discovery. Remote data never creates a tag record automatically.
|
||||
|
||||
After taxonomy or filtering changes:
|
||||
|
||||
1. Run `python scripts/build_with_projects.py --output-path build`.
|
||||
2. Verify `/tags/`, at least one dedicated tag URL, and both section listings.
|
||||
3. Confirm tag counts cover blog entries and articles and that every entry slug
|
||||
has a matching tag record.
|
||||
2. Verify `/tags/`, at least one dedicated tag URL, and all three section listings.
|
||||
3. Confirm tag counts cover projects, blog entries, and articles; every stored
|
||||
entry slug has a matching tag record; and unapproved project labels are not
|
||||
counted.
|
||||
4. Test filtering with JavaScript enabled and confirm tag links remain usable
|
||||
without JavaScript.
|
||||
5. Check keyboard operation plus desktop and narrow layouts.
|
||||
@@ -225,7 +234,9 @@ revisions, metadata digests, synchronization status, and synchronization time.
|
||||
The project card combines repository-owned content with public provider and Git
|
||||
metadata: source and README links, default branch, latest commit, license,
|
||||
languages, open issues, stars, forks, latest release, imported revision, and
|
||||
sync time. API metadata failure uses cached metadata and is identified in the
|
||||
sync time. Approved language and technology labels link into the shared tag
|
||||
taxonomy, allowing a project to lead visitors to related writing. API metadata
|
||||
failure uses cached metadata and is identified in the
|
||||
sync status; it never causes an unvalidated new snapshot to replace a working
|
||||
one.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user