Skip to content

feat: migrazione al nuovo registry (registry.json) + temi dinamici da category - #226

Merged
Gabrymi93 merged 1 commit into
mainfrom
feat/registry-catalog
Aug 10, 2026
Merged

feat: migrazione al nuovo registry (registry.json) + temi dinamici da category#226
Gabrymi93 merged 1 commit into
mainfrom
feat/registry-catalog

Conversation

@Gabrymi93

@Gabrymi93 Gabrymi93 commented Aug 10, 2026

Copy link
Copy Markdown
Member

Sintesi

Migra il data-explorer dal legacy clean_catalog.json al nuovo fusion registry (registry/registry.json di dataset-incubator) e rende i temi dinamici, derivati dalla category del registry con un layer editoriale unico.

Cosa cambia

Catalogo: clean_catalog.jsonregistry/registry.json

  • src/data/catalog.json.py e themes.json.py leggono il fusion registry; logica condivisa e testata in src/data/_registry.py (load_registry, build_catalog, build_themes, resolve_url_slug)
  • scripts/generate_catalog.mjs migrato al registry
  • URL_SLUG_OVERRIDES spostati in _registry.py ed estesi per le 4 pagine con slug registry divergenti (mit_incidentalita_mensile, istat_housing_crowding, opencivitas_fsc_2025_rso, popolazione_istat_comunale_2019_2025)

Temi dinamici

  • catalog/themes.json = single source editoriale: mappa le category del registry ai temi pubblici (6 temi attuali)
  • Un dataset entra in un tema se ha pagina explorer e category mappata; lo stage registry è irrilevante (altrimenti mef-partecipazioni/pensioni-pa-dag sparivano)
  • generate-config.mjs: sidebar difensiva (solo pagine .md esistenti) + invariante "ogni pagina compare in sidebar"

Test/docs

  • Nuovi test tests/test_registry.py e tests/generate-config.test.mjs; test JS aggiornati
  • Docs e PR template allineati

Verifica

npm run lint    # ok
npm test        # 62 JS + 21 Python pass
npm run build   # ok, 26 link validati

Output: 6 temi + "Altri dataset", 32 dataset — equivalente a main (cambia solo l'ordine, ora derivato dal registry).

Note per chi revisiona

  • I temi sono ora dinamici: un nuovo dataset con category già mappata entra nel tema senza toccare codice; le nuove category vanno aggiunte a catalog/themes.json.
  • Il registry consumato è solo dataset-incubator (fusion multi-repo previsto in futuro).

….json)

- catalog.json.py/themes.json.py leggono registry/registry.json (fusion) invece
  del legacy clean_catalog.json; logica condivisa e testata in src/data/_registry.py
- temi dinamici: config editoriale catalog/themes.json mappa le category del
  registry ai temi pubblici; un dataset entra in un tema se ha pagina explorer
  e category mappata (lo stage registry è irrilevante)
- generate-config: sidebar difensiva (solo pagine .md esistenti), 'Altri dataset'
  con invariante 'ogni pagina compare in sidebar'
- generate_catalog migrato al registry + config temi condivisa;
  URL_SLUG_OVERRIDES estesi per le 4 pagine con slug registry divergenti
- test aggiornati + nuovi tests/test_registry.py e generate-config.test.mjs;
  docs e PR template allineati
@Gabrymi93
Gabrymi93 force-pushed the feat/registry-catalog branch from d279fea to f516cab Compare August 10, 2026 11:14
@Gabrymi93
Gabrymi93 merged commit e3e53f5 into main Aug 10, 2026
1 check passed
@Gabrymi93
Gabrymi93 deleted the feat/registry-catalog branch August 10, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant