From 553b6ff83a6ee5d673e27c0de2d1152dc8152446 Mon Sep 17 00:00:00 2001 From: doxa-maps publish Date: Fri, 25 Sep 2026 03:22:36 +0000 Subject: [PATCH] Library: Plugin Studio lists in the base team's plugin library Its catalog entry was the raw build-manifest record: no category, no staging page, and an embed that was an object of snippets instead of a staging path. The library groups by category and opens the staging page, so it could not list or open it. Now matches the catalog contract (same shape as doxa-maps-spa). --- app/index.json | 96 +++++++++++++++++++++----------------------------- 1 file changed, 41 insertions(+), 55 deletions(-) diff --git a/app/index.json b/app/index.json index a9838bd..c2c170f 100644 --- a/app/index.json +++ b/app/index.json @@ -9,8 +9,8 @@ { "bundle": "all-people-groups", "category": "Missions", - "icon": "\ud83c\udf0d", - "description": "All 12,379 people groups (peoplegroups.org) in four colors \u2014 reached,", + "icon": "🌍", + "description": "All 12,379 people groups (peoplegroups.org) in four colors β€” reached,", "output": "doxa-maps/all-people-groups/all-people-groups.js", "staging": "doxa-maps/all-people-groups/all-people-groups/index.html", "elements": [ @@ -23,7 +23,7 @@ "profile": "all-people-groups", "file": "all-people-groups.iife.js", "element": "all-people-groups", - "description": "All 12,379 people groups (peoplegroups.org) in four colors \u2014 reached,", + "description": "All 12,379 people groups (peoplegroups.org) in four colors β€” reached,", "parameterized": false, "embed": "doxa-maps/all-people-groups/all-people-groups/index.html", "embedScript": "\n", @@ -35,7 +35,7 @@ { "bundle": "big-picture", "category": "Missions", - "icon": "\ud83d\udcca", + "icon": "πŸ“Š", "description": "The Cat-4 composite that PAIRS the two capability elements of the research page", "output": "doxa-maps/big-picture/big-picture.js", "staging": "doxa-maps/big-picture/big-picture/index.html", @@ -63,7 +63,7 @@ { "bundle": "cities-internet", "category": "Missions", - "icon": "\ud83c\udfd9\ufe0f", + "icon": "πŸ™οΈ", "description": "The doxa-maps \"cities-internet\" mission-mapping plugin.", "output": "doxa-maps/cities-internet/cities-internet.js", "staging": "doxa-maps/cities-internet/connectivity-list/index.html", @@ -109,7 +109,7 @@ { "bundle": "country-posters", "category": "Missions", - "icon": "\ud83d\uddfa\ufe0f", + "icon": "πŸ—ΊοΈ", "description": "The doxa-maps \"country-posters\" mission-mapping plugin.", "output": "doxa-maps/country-posters/country-posters.js", "staging": "doxa-maps/country-posters/countries-map/index.html", @@ -145,7 +145,7 @@ { "bundle": "demo-map", "category": "Demo", - "icon": "\ud83e\udded", + "icon": "🧭", "description": "Simple two-tab demo map. Tab 1 colors pins by religion (shared", "output": "doxa-maps/demo-map/demo-map.js", "staging": "doxa-maps/demo-map/demo-map/index.html", @@ -171,8 +171,8 @@ { "bundle": "doxa-maps-spa", "category": "Doxa Maps", - "icon": "\ud83d\uddfa\ufe0f", - "description": "The Doxa Maps power app (Cat-5 plugin studio) \u2014 every map in one single-page application with a sidebar. The studio for browsing, previewing and embedding all Doxa map bundles.", + "icon": "πŸ—ΊοΈ", + "description": "The Doxa Maps power app (Cat-5 plugin studio) β€” every map in one single-page application with a sidebar. The studio for browsing, previewing and embedding all Doxa map bundles.", "output": "doxa-maps/doxa-maps-spa/doxa-maps-spa.js", "staging": "doxa-maps/doxa-maps-spa/doxa-maps-spa/index.html", "kind": "app", @@ -202,8 +202,8 @@ "mount": "embedded", "locked": true, "category": "Doxa Maps", - "icon": "\ud83e\uddea", - "description": "Doxa Maps staging \u2014 every bundle and element on one page (language + profile switch). Preview and compare all the maps.", + "icon": "πŸ§ͺ", + "description": "Doxa Maps staging β€” every bundle and element on one page (language + profile switch). Preview and compare all the maps.", "kind": "app", "entry": "doxa-maps-staging/doxa-maps/index.html", "staging": "the-source-repository-staging/doxa-maps/index.html", @@ -227,7 +227,7 @@ { "bundle": "doxa-research-map", "category": "Missions", - "icon": "\ud83d\udd2c", + "icon": "πŸ”¬", "description": "The doxa-maps \"doxa-research-map\" mission-mapping plugin.", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", "staging": "doxa-maps/doxa-research-map/research-map/index.html", @@ -253,7 +253,7 @@ { "bundle": "doxa-simple-map", "category": "Missions", - "icon": "\ud83d\udccd", + "icon": "πŸ“", "description": "The doxa-maps \"doxa-simple-map\" mission-mapping plugin.", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", "staging": "doxa-maps/doxa-simple-map/doxa-simple-map/index.html", @@ -280,7 +280,7 @@ { "bundle": "doxa-vision-card", "category": "Missions", - "icon": "\ud83c\udfb4", + "icon": "🎴", "description": "The Capability-1 example: ONE folder -> ONE bundle -> ONE element.", "output": "doxa-maps/doxa-vision-card/doxa-vision-card.js", "staging": "doxa-maps/doxa-vision-card/doxa-vision-card/index.html", @@ -306,7 +306,7 @@ { "bundle": "gospel-resources", "category": "Missions", - "icon": "\ud83d\udcd6", + "icon": "πŸ“–", "description": "The doxa-maps \"gospel-resources\" mission-mapping plugin.", "output": "doxa-maps/gospel-resources/gospel-resources.js", "staging": "doxa-maps/gospel-resources/charts/index.html", @@ -362,7 +362,7 @@ { "bundle": "my-upg-100-list", "category": "Prayer Mobilization", - "icon": "\ud83d\udcdc", + "icon": "πŸ“œ", "description": "UPG-100 prayer list + poster wall.", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", "staging": "the source org/my-upg-100-list/poster-wall/index.html", @@ -409,8 +409,8 @@ { "bundle": "people-groups-grid", "category": "Missions", - "icon": "\ud83d\uddc2\ufe0f", - "description": "People-groups grid \u2014 the tabular people-groups capability element used inside the Big Picture composite.", + "icon": "πŸ—‚οΈ", + "description": "People-groups grid β€” the tabular people-groups capability element used inside the Big Picture composite.", "output": "doxa-maps/people-groups-grid/people-groups-grid.js", "staging": "doxa-maps/people-groups-grid/people-groups-grid/index.html", "elements": [ @@ -434,52 +434,38 @@ }, { "bundle": "plugin-studio", - "scriptUrl": "doxa-maps/plugin-studio/plugin-studio.js", + "category": "Doxa Maps", + "icon": "πŸ§ͺ", + "description": "Plugin Studio β€” preview every Doxa map in one place: all 7 production plugins and the Experimental shelf, organized by capability, each live and embeddable.", "output": "doxa-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-6Si+RjK5+xGytKBW4i/agiAGYXhaUXfjz5YWQRjhR5vG1RZc0oJGMRcseYTveHtK", + "staging": "doxa-maps/plugin-studio/plugin-studio/index.html", + "kind": "app", "elements": [ "plugin-studio" ], + "element": "plugin-studio", + "profileCount": 1, "profiles": [ { "profile": "plugin-studio", "file": "plugin-studio.vue", - "description": "", "element": "plugin-studio", - "iframeUrl": "doxa-maps/plugin-studio/plugin-studio/index.html", - "scriptUrl": "./plugin-studio/plugin-studio.js", - "embed": { - "iframe": "", - "script": "\n" - }, - "instances": [ - { - "id": "studio", - "title": "Plugin Studio \u2014 every element by capability 5 -> 1 (developer studio)", - "apiBaseUrl": "", - "props": { - "profile": "plugin-studio", - "provider": "maplibre", - "instanceId": "plugin-studio", - "title": "Plugin Studio" - }, - "element": "plugin-studio", - "iframeUrl": "./plugin-studio/plugin-studio/studio/index.html", - "embed": { - "iframe": "" - } - } - ], + "kind": "app", + "parameterized": false, + "description": "The developer studio: every plugin element, grouped by capability, mounted live.", + "embed": "doxa-maps/plugin-studio/plugin-studio/index.html", + "embedScript": "\n", "type": "nested-mfe-spa" } ], + "integrity": "sha384-6Si+RjK5+xGytKBW4i/agiAGYXhaUXfjz5YWQRjhR5vG1RZc0oJGMRcseYTveHtK", "type": "nested-mfe-spa" }, { "bundle": "quantum-forms-collect", "category": "Forms", - "icon": "\ud83d\udccb", - "description": "Quantum Forms \u2014 Epicollect-migrated data collection (locked plugin, own PB, lobby-code access).", + "icon": "πŸ“‹", + "description": "Quantum Forms β€” Epicollect-migrated data collection (locked plugin, own PB, lobby-code access).", "output": "the source org/quantum-forms-collect/quantum-forms-collect.iife.js", "staging": "the source org/quantum-forms-collect/index.html", "elements": [ @@ -505,8 +491,8 @@ { "bundle": "quantum-forms-full", "category": "Forms", - "icon": "\ud83d\udccb", - "description": "Quantum Forms \u2014 the full Epicollect5 form-builder, migrated to a go-base locked plugin (identical UI, PocketBase backend via api-shim).", + "icon": "πŸ“‹", + "description": "Quantum Forms β€” the full Epicollect5 form-builder, migrated to a go-base locked plugin (identical UI, PocketBase backend via api-shim).", "output": "the source org/quantum-forms-full/quantum-forms.iife.js", "staging": "the source org/quantum-forms-full/index.html", "elements": [ @@ -532,8 +518,8 @@ { "bundle": "research-dashboard", "category": "Research Maps", - "icon": "\ud83d\udcca", - "description": "Full research dashboard \u2014 globe + choropleth, faceted filters, KPIs, charts rail and a 2,106-row people-groups table. Collapsible/resizable panels.", + "icon": "πŸ“Š", + "description": "Full research dashboard β€” globe + choropleth, faceted filters, KPIs, charts rail and a 2,106-row people-groups table. Collapsible/resizable panels.", "output": "doxa-maps/research-dashboard/research-dashboard.js", "staging": "the source org/research-dashboard/research-dashboard/index.html", "elements": [ @@ -561,8 +547,8 @@ { "bundle": "template-bundle", "category": "Developer Tools", - "icon": "\ud83e\uddf0", - "description": "Copy-me starter bundle \u2014 the pattern for new map plugins.", + "icon": "🧰", + "description": "Copy-me starter bundle β€” the pattern for new map plugins.", "output": "doxa-maps/template-bundle/template-bundle.js", "staging": "the source org/template-bundle/template-map-a/index.html", "elements": [ @@ -575,7 +561,7 @@ "profile": "template-map-a", "file": "template-map-a.vue", "element": "template-bundle", - "description": "Minimal example profile A \u2014 a colored placeholder, no Mapbox or data.", + "description": "Minimal example profile A β€” a colored placeholder, no Mapbox or data.", "embed": "template-bundle/template-map-a/index.html", "embedScript": "\n", "type": "single" @@ -584,7 +570,7 @@ "profile": "template-map-b", "file": "template-map-b.vue", "element": "template-bundle", - "description": "Minimal example profile B \u2014 a second profile in the same bundle.", + "description": "Minimal example profile B β€” a second profile in the same bundle.", "embed": "template-bundle/template-map-b/index.html", "embedScript": "\n", "type": "single"