Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

catalog: tag and subcategory vocabulary has sprawled (63% of tags used once, licence-ish tags, duplicate concepts)

未关闭
#96 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
重构
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript, json
领域
data, search

调研方向

Start by reading the V19 validation rule, site/value-aliases.json, site/config.json, and the validator run by npm run validate; inspect how tags, subcategories, and search values are normalized. Use the supplied audit and the validation output to track singleton tags, licence-shaped tags, category-specific subcategories, and merged aliases. Done when singleton tags are below about 20%, licence-shaped tags are gone, subcategories follow per-category lists, and searches for merged spellings return the same results.

由索引模型根据 Issue 内容生成。

描述

enhancement priority: medium

Why it matters
Tags drive search and the chip filters. When 428 of 675 tags are used exactly once, they add bytes to data.js but almost never help a search, and near-synonyms split results: a search for "pixel" and a search for "pixel-art" return different sets. Rule V19 (tags do not restate the licence) was applied to licence names, but a second generation of licence-shaped tags has grown back. Subcategories have the same problem (190 values, 71 singletons, 66 in tools alone) and leak across categories.

Evidence (data audit 2026-10-21)

  • 1,507 tag uses, 675 unique, 428 singletons; 88 entries have two or fewer tags.
  • Duplicate concepts: pixel (27) vs pixel-art (14); godot (30) vs godot-4 (22); unreal (1) vs unreal-engine (22).
  • Licence-shaped tags: freemium (8), per-model-license, mixed-license, per-item-license, cc0-exports, cc0-custom, cc0-filter, not-cc0, non-commercial-free-tier, free-tier, per-file-license, per-listing-license, per-film-license.
  • Subcategory leakage: audio as a 2d subcategory (2), video/audio/images as video subcategories, characters under characters, models/textures under environment.

Suggested approach

  1. Decide a closed tag vocabulary for the top ~150 tags plus a free-text tail, and add the licence-shaped tags to the V19 check (the information already lives in license, commercial and the Notes).
  2. Merge the duplicate concepts with site/value-aliases.json so old spellings keep validating but normalise.
  3. Give each category a short allowed subcategory list in site/config.json and have the validator enforce it; the long tail becomes tags.
  4. Report singleton tags in npm run validate output as a warning so they are visible.

Done when
Singleton tags are below ~20%, no licence-shaped tags remain, subcategories are drawn from a per-category list, and search for either spelling of a merged concept returns the same set.

主要语言
JavaScript
星标
58
派生
15
平均合并
16 小时 53 分钟
30 天内合并 PR
14

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TMHSDigital/Free-Game-Dev-Assets 的其他 Issue

查看 TMHSDigital/Free-Game-Dev-Assets 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。