Merge main into bundler-2/work
This commit is contained in:
commit
d535a7d97d
10 changed files with 151 additions and 103 deletions
File diff suppressed because one or more lines are too long
|
|
@ -380,6 +380,28 @@ const NOT_SCANNED = 'api_bible, dbl, progress_bible, youversion'
|
|||
// even a perfect ISO join would add no coverage.
|
||||
// - Davar Partners a ministry site, not a catalogue. No per-language page and therefore
|
||||
// no URL a worker could be sent to.
|
||||
// - Bible for Children (bibleforchildren.org) — checked 2026-09-26. Reachable, and the
|
||||
// status code is meaningful: a wrong path 404s rather than returning the
|
||||
// homepage, so it is not one of the app shells that defeated the others.
|
||||
// Its index lists 118 languages as /languages/<name>/stories.php, with no
|
||||
// pagination and no stated total, so 118 is what is published, not a page
|
||||
// of something larger.
|
||||
// OUT FOR THREE REASONS, IN THIS ORDER OF WEIGHT:
|
||||
// (1) COVERAGE. Of the 294 languages in the Doxa gap, exactly ONE name
|
||||
// matches a folder here. 82 of the 118 match a language this index
|
||||
// carries somewhere, so the catalogue is real and overlaps us — it
|
||||
// just does not overlap the part that has nothing, which is the only
|
||||
// part a new pool is worth adding for.
|
||||
// (2) THE JOIN KEY. No ISO code is published anywhere: not in the index,
|
||||
// not on a story page. The folder IS the language name, so a join
|
||||
// would be by name — the guess this build removed, and the guess that
|
||||
// would have handed Akha in Laos one of three sub-varieties. The one
|
||||
// gap match above is a name match and is worth nothing on its own.
|
||||
// (3) DOCTRINE UNVERIFIED, not suspected. No statement of faith is served
|
||||
// at /about.php, /aboutus.php, /faith.php or /beliefs.php — all 404.
|
||||
// The brief's rule is to leave a source out when its doctrine is
|
||||
// unclear and say why, so that is what this is. It is NOT a finding
|
||||
// against them; it is the absence of a finding either way.
|
||||
// - IBT (Institute for Bible Translation, ibtrussia.org) — NOT a pool, but the best LEAD
|
||||
// on this map, and the distinction is the point. Found by asking why 36
|
||||
// Doxa groups carry an IMB "audio Scripture exists" flag while every pool
|
||||
|
|
|
|||
|
|
@ -365,12 +365,38 @@ function esc(s) {
|
|||
// which is the entire point of the site, and Full Profile.
|
||||
// It could not have been ported before this pass because the DATA was not being fetched: rop1,
|
||||
// religion, location_description and the photo were missing from our field list.
|
||||
// Population, formatted the way the other two formatters in this element do it -- see the note at
|
||||
// its call site for why the -u-nu-latn subtag is there and when it comes off.
|
||||
function fmtPop(v) {
|
||||
try { return v.toLocaleString(`${locale.value || 'en'}-u-nu-latn`) } catch (_) { return v.toLocaleString('en-US') }
|
||||
}
|
||||
|
||||
function popupHtml(p) {
|
||||
const name = esc(p.name || '')
|
||||
const subtitle = [p.country, p.rop1].filter(Boolean).map(esc).join(' · ')
|
||||
// Their formatPopulation: toLocaleString(languageCode), NOT a hardcoded 'en'. Ours printed
|
||||
// 'en-US' grouping in every one of the eleven locales.
|
||||
const pop = Number(p.population) > 0 ? Number(p.population).toLocaleString(locale.value || 'en') : ''
|
||||
// ★ -u-nu-latn: NUMERALS ARE HELD (Driver via shepherd, 2026-09-26). The subtag is NOT belt and
|
||||
// braces -- but the reason is narrower than it first looks, and MEASURED against full-ICU Node:
|
||||
// ar -> numberingSystem=latn -> 1,234,567
|
||||
// ar-EG -> numberingSystem=arab -> ١٬٢٣٤٬٥٦٧
|
||||
// So the BARE codes this element ships (SUPPORTED_LOCALES, and localeFromUrl() which strips the
|
||||
// region at .split('-')[0]) were already Latin, and plain toLocaleString('ar') never violated the
|
||||
// hold. What does violate it is a REGIONED tag arriving from outside -- a host setting
|
||||
// profile-config.locale to 'ar-EG' reaches this line unstripped. The subtag makes the hold hold
|
||||
// whatever arrives, instead of depending on every caller to strip a region first.
|
||||
// (I first wrote "'ar' renders Arabic-Indic" here. It does not; that was asserted, then measured.)
|
||||
// The subtag splits the two halves of this apart: grouping SEPARATORS still follow the locale,
|
||||
// which is the part of theirs we can match ('1.234.567' in de, '1 234 567' in ru), while the
|
||||
// digits stay Latin. So this is closer to their output than the hardcoded 'en-US' it replaced
|
||||
// AND compliant with the hold. The other two number formatters in this element already do it
|
||||
// this way (region-dashboards.vue:191, regions-list.vue:178); this one was the odd one out, and
|
||||
// it is the only one a reader of an 'ar' map popup would have seen.
|
||||
// When the hold lifts, dropping the subtag in all three restores exact parity.
|
||||
// The try/catch is not decoration: a malformed tag throws RangeError here, and this runs while
|
||||
// building popup HTML, so an uncaught throw takes out the popup rather than one number. The two
|
||||
// sibling formatters guard it for that reason; this one must too.
|
||||
const pop = Number(p.population) > 0 ? fmtPop(Number(p.population)) : ''
|
||||
const profileUrl = `${props.researchUrl}${p.slug || ''}`
|
||||
const prayUrl = `${String(props.prayBaseUrl).replace(/\/+$/, '')}/${p.slug || ''}?source=doxalife`
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -888,7 +888,7 @@
|
|||
"bundle": "regions-dashboard",
|
||||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
|
||||
"integrity": "sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY",
|
||||
"integrity": "sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j",
|
||||
"elements": [
|
||||
"regions-dashboard"
|
||||
],
|
||||
|
|
@ -908,7 +908,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -922,7 +922,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -936,7 +936,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -888,7 +888,7 @@
|
|||
"bundle": "regions-dashboard",
|
||||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"output": "dx-maps/regions-dashboard/regions-dashboard.js",
|
||||
"integrity": "sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY",
|
||||
"integrity": "sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j",
|
||||
"elements": [
|
||||
"regions-dashboard"
|
||||
],
|
||||
|
|
@ -908,7 +908,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -922,7 +922,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -936,7 +936,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-7KtEO1Ri7x+mY3JmOY+ZFWt1nH424T6sjIO2slg93jtxmoGmkzFY+0MjgQB46xyY" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-c7LJZWxXoNP1I7ULRtIRftxRS4Tph3x9YC0rdd04MTLP3GITJVeQvYrhbhZrNP2j" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
Loading…
Reference in a new issue