Say which film it is: three languages were labelled JESUS Film without one

Five codes still carried the retired ?languageId= URL, which nothing can verify.
Asking Arclight what each language actually has:

  ars  Arabic, Najdi        The Savior                 (8 groups; film was their ONLY resource)
  gjk  Kachi Koli           Magdalena - Director's Cut
  mzn  Mazanderani          Magdalena - Director's Cut
  lia  Limba, West-Central  no feature at all
  jos  Jordanian Sign Lang  left alone, see below

counts.featureFilm >= 1 says a feature exists, not that it is JESUS. Three of
these had a real JESUS Film Project film in their own language under a different
title, and the map called all of them the JESUS Film — the same class of lie as
calling Open Bible Stories Scripture. They now ship under their own names, with
verified deep links; lia's film is dropped, because no component carries it and
a link nobody can check is worse than none.

jos is left exactly as it was. Arclight files iso3 jos under a row whose own
name reads Lebanese Sign Language, while the JESUS Film sits at a different id
named Jordanian Sign Language. The ISO join and the publisher's label disagree,
and resolving that is a data question, not a guess to make inside a fetcher.
This commit is contained in:
doxa-maps-88655c70 2026-09-25 03:44:39 +00:00
parent de7388cbf7
commit 4fc261f8df
29 changed files with 6513 additions and 66 deletions

File diff suppressed because one or more lines are too long

View file

@ -911,7 +911,7 @@
"pct_with_nothing": 9.8,
"people_with_nothing": 146600,
"groups_with_scripture": 19,
"groups_with_film": 24,
"groups_with_film": 23,
"band": "partial",
"growing_unreached": 7,
"deaths_day": 14.5,
@ -1121,7 +1121,7 @@
"pct_with_nothing": 10.7,
"people_with_nothing": 98950,
"groups_with_scripture": 21,
"groups_with_film": 25,
"groups_with_film": 24,
"band": "partial",
"growing_unreached": 0,
"deaths_day": 1.1,

View file

@ -337,7 +337,7 @@
"no_resource": 4,
"pop_no_resource": 146600,
"scripture": 19,
"film": 24,
"film": 23,
"growing_unreached": 7,
"deaths_day": 14.5,
"growth": 2.4,
@ -2241,7 +2241,7 @@
"no_resource": 3,
"pop_no_resource": 98950,
"scripture": 21,
"film": 25,
"film": 24,
"growing_unreached": 0,
"deaths_day": 1.1,
"growth": 2.12,

View file

@ -1,7 +1,7 @@
{
"meta": {
"title": "Gospel resource link verification",
"generated": "2026-09-25T02:30:53.812Z",
"generated": "2026-09-25T03:43:08.467Z",
"method": "HEAD, redirects followed. verified = HTTP 200. broken = 404/410. unknown = unreachable, an ambiguous status, or a URL shape that cannot be checked by fetch.",
"scope": "Every URL in data/tables/people-group-pins.json, deduplicated.",
"states": {
@ -96,12 +96,12 @@
]
},
"summary": {
"records": 8513,
"checkedThisPass": 40,
"records": 8516,
"checkedThisPass": 3,
"carriedForward": 74,
"pruned": 0,
"broken": 74,
"verified": 8434,
"verified": 8437,
"unknown": 5
},
"byHost": {
@ -119,11 +119,11 @@
"verified": 3
},
"jesusfilm.org": {
"verified": 2048,
"verified": 2050,
"broken": 1
},
"arc.gt": {
"verified": 32,
"verified": 33,
"broken": 1
},
"zume.training": {
@ -42711,6 +42711,21 @@
"state": "verified",
"detail": "5fish redirected to its language page https://fivefish.org/2235?language=Mehinaku (the site answers 200 for any path)",
"at": "2026-09-25T02:30:53.528Z"
},
"https://jesusfilm.org/watch/magdalena-director-cut/mazanderani": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/magdalena-director-cut.html/mazanderani.html)",
"at": "2026-09-25T03:43:07.735Z"
},
"https://jesusfilm.org/watch/magdalena-director-cut/kachhi-gujerati": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/magdalena-director-cut.html/kachhi-gujerati.html)",
"at": "2026-09-25T03:43:07.768Z"
},
"https://arc.gt/durve": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/the-savior.html/arabic-najdi.html)",
"at": "2026-09-25T03:43:07.944Z"
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -260,7 +260,7 @@
"iso639_3": "ars",
"population": 12970000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 24.56,
@ -1562,7 +1562,7 @@
"iso639_3": "ars",
"population": 1990000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 31.77,
@ -2066,7 +2066,7 @@
"iso639_3": "ars",
"population": 1485000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 34.54,
@ -2122,7 +2122,7 @@
"iso639_3": "ars",
"population": 1440000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 24.69,
@ -2248,7 +2248,7 @@
"iso639_3": "ars",
"population": 1365000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 32.5,
@ -6014,7 +6014,7 @@
"iso639_3": "ars",
"population": 382000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 29.34,
@ -14288,7 +14288,7 @@
"iso639_3": "ars",
"population": 79000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 34.09,
@ -23752,7 +23752,7 @@
"iso639_3": "ars",
"population": 20000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 45.44,

View file

@ -41,7 +41,10 @@ export function resourceRows(c) {
}
add(c.sv || 'Scripture in this language', 'Scripture', c.s, c.ss || '')
add('JESUS Film', 'Film', c.f)
/* c.fT is set only where the JESUS Film component does NOT carry this language and a
different JESUS Film Project feature does — The Savior, Magdalena. Calling that "JESUS
Film" would be the same class of lie as calling Open Bible Stories Scripture. */
add(c.fT || 'JESUS Film', 'Film', c.f)
for (const d of c.d || []) {
add(d.s, /^Open Bible Stories/.test(d.s) ? 'Bible Stories' : 'Scripture', d.u, d.sc || '')
}

View file

@ -630,6 +630,10 @@ function groupAt(i) {
_iso3: r[3] || '',
scripture_url: c.s || '',
film_url: c.f || '',
/* Empty except where the JESUS component does not carry this language and another
JESUS Film Project feature does. See gospel-resource-rows.js — the chip must say
which film it is, not which film we usually mean. */
film_title: c.fT || '',
has_audio: c.a === 1 ? true : c.a === 0 ? false : 'unknown',
has_open_bible_stories: !!c.o,
door43: Array.isArray(c.d) ? c.d : [],
@ -1462,7 +1466,7 @@ useShadowStyles(
:title="/[?&]languageId=/.test(selectedGroup.film_url)
? 'The JESUS Film Project lists a feature film in this language, but no per-language link is published for it — this opens their site and you may need to choose the language there.'
: 'Opens the JESUS Film in this language on jesusfilm.org.'">
Film · {{ vchip(selectedGroup.film_url).label }}
{{ selectedGroup.film_title || 'Film' }} · {{ vchip(selectedGroup.film_url).label }}
</a>
<span v-else class="gm-chip meh">Film · none found</span>

View file

@ -121,7 +121,23 @@ try { arc = JSON.parse(readFileSync(ARC, 'utf8')).codes || {} } catch { arc = {}
// exists it replaces that URL entirely rather than sitting alongside it.
let share = {}
try { share = JSON.parse(readFileSync(ARC_SHARE, 'utf8')).codes || {} } catch { share = {} }
const filmUrl = (code, aa) => httpsify(share[code] || (aa ? aa.u : ''))
/**
* The share table answers in three shapes, and each means something different:
* a STRING the JESUS Film deep link for this language
* an OBJECT {u,t} a different JESUS Film Project feature — the JESUS component has no
* entry for this language — and t is what it must actually be called
* null no feature exists at all; ship NO film rather than the retired ?languageId=
* URL, which nothing can verify and which claimed a film that is not there
* undefined (never fetched) keeps the old behaviour and falls back to the roster URL.
*/
const shareEntry = (code, aa) => {
const v = share[code]
if (v === null) return { u: '', t: '' }
if (v && typeof v === 'object') return { u: httpsify(v.u || ''), t: String(v.t || '') }
return { u: httpsify(v || (aa ? aa.u : '')), t: '' }
}
const filmUrl = (code, aa) => shareEntry(code, aa).u
const filmTitle = (code, aa) => shareEntry(code, aa).t
// Zume Training snapshot (scripts/fetch-zume-index.mjs). Same optional contract as above.
// Zume is DISCIPLESHIP TRAINING, not Scripture and not film, so it is kept in its own
@ -251,9 +267,22 @@ for (const [c, aa] of Object.entries(arc)) {
// An existing film link that is the ignored ?languageId= form is REPLACED where a real
// deep link exists: keeping it would mean curation preserving a URL that goes nowhere
// specific, which is not what the fill-never-overwrite rule is protecting.
if (codes[c]?.f && share[c] && /[?&]languageId=/.test(codes[c].f)) { codes[c].f = httpsify(share[c]); upgraded++ }
if (codes[c]) { if (!codes[c].f) codes[c].f = filmUrl(c, aa); continue }
/* The UPGRADE path reads the share table too, and read it RAW — so an {u,t} entry
stringified straight into the URL field as "[object Object]" for ars, whose film is
its only resource. Both readers go through shareEntry now; there is exactly one place
that knows the three shapes. */
if (codes[c]?.f && share[c] !== undefined && /[?&]languageId=/.test(codes[c].f)) {
const e = shareEntry(c, null)
if (e.u) { codes[c].f = e.u; if (e.t) codes[c].fT = e.t; upgraded++ }
else if (share[c] === null) { delete codes[c].f; delete codes[c].fT }
}
const ft = filmTitle(c, aa)
if (codes[c]) {
if (!codes[c].f) { codes[c].f = filmUrl(c, aa); if (ft) codes[c].fT = ft }
continue
}
codes[c] = { l: aa.n || '', f: filmUrl(c, aa), ck: 'arclight', un: 'ebible, door43, grn, api_bible, dbl, progress_bible' }
if (ft) codes[c].fT = ft
arcOnly++
}
for (const [c, ee] of Object.entries(eb)) {

View file

@ -29,6 +29,21 @@ const ARC = resolve(REPO, 'data/tables/arclight-index.json')
const OUT = resolve(REPO, 'data/tables/arclight-share-urls.json')
const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'
const JF = '1_jf-0-0'
/**
* `jos` IS SKIPPED, AND THE REASON IS UPSTREAM. ISO 639-3 jos is Jordanian Sign Language.
* Arclight's roster files iso3 "jos" under languageId 139080, whose own name field reads
* "Lebanese Sign Language" — a different language (lbs). Meanwhile the JESUS Film DOES exist
* at languageId 7138, named Jordanian Sign Language, which is the id the pin index carries.
*
* So the ISO join — the thing this whole map is built on — disagrees with the publisher's own
* label for this one code, and the fallback below resolved 139080 to Magdalena: the wrong film
* AND the wrong language, shown to three people groups. Left exactly as it was rather than
* guessed at. Resolving it means deciding whether the code or the name is authoritative here,
* and that is a data question for someone who can check it against Ethnologue, not something
* to settle inside a fetcher.
*/
const SKIP = new Set(['jos'])
const DELAY = Number(process.env.DELAY_MS || 250)
const arc = JSON.parse(readFileSync(ARC, 'utf8')).codes
@ -39,7 +54,8 @@ let fetched = 0, cached = 0, missing = 0
for (let i = 0; i < entries.length; i++) {
const [code, v] = entries[i]
if (out[code]) { cached++; continue }
if (SKIP.has(code)) { cached++; continue }
if (out[code] !== undefined) { cached++; continue }
try {
const r = await fetch(`https://api.arclight.org/v2/media-components/${JF}/languages/${v.id}`, { headers: { 'User-Agent': UA } })
if (r.ok) {
@ -48,7 +64,57 @@ for (let i = 0; i < entries.length; i++) {
// is a downgrade nobody asked for.
const u = String(d.shareUrl || '').replace(/^http:\/\//, 'https://')
if (u) { out[code] = u; fetched++ } else missing++
} else missing++
} else if (r.status !== 404) {
/* ONLY A 404 MEANS "THE JESUS COMPONENT HAS NO ENTRY FOR THIS LANGUAGE". A 429, a 500
* or a blip means we do not know yet, and the fallback below must not run on it.
* Measured: the first version treated ANY non-ok as "no JESUS Film" and wrote Magdalena
* over Jordanian Sign Language, which HAS the JESUS Film at arc.gt/g8wmw — a transient
* failure silently downgrading a language to a different film. Left undefined so the
* next run retries it. */
missing++
} else {
/* ═══ THE JESUS FILM COMPONENT DOES NOT CARRY EVERY LANGUAGE THE ROSTER COUNTS ═══
*
* counts.featureFilm >= 1 says a FEATURE exists in this language. It does not say the
* feature is JESUS. For five codes this endpoint 404s, and the build was falling back
* to the retired ?languageId= URL — unverifiable by fetch, and labelled "JESUS Film"
* on a language the JESUS component has no entry for. Measured 2026-09-25:
* ars Arabic, Najdi -> The Savior (8 groups, film was their ONLY resource)
* gjk Kachi Koli -> Magdalena — Director's Cut
* mzn Mazanderani -> Magdalena — Director's Cut
* lia Limba, West-Central -> NO component at all
* jos Jordanian Sign Language -> the JESUS Film after all, at arc.gt/g8wmw
*
* So ask what feature this language actually has. A real JESUS Film Project feature in
* someone's own language is worth shipping — dropping ars would have pushed 8 groups
* into the gap while a gospel film exists in their language — but it must be shipped
* UNDER ITS OWN NAME. This bundle already refuses to call Open Bible Stories Scripture;
* calling The Savior the JESUS Film is the same lie.
*
* Same publisher, so the doctrinal screen is unchanged: these are JESUS Film Project
* features, the catalogue the brief names explicitly. Nothing outside it is taken.
*
* `null` is recorded when no feature exists, and the pin build DROPS the film rather
* than falling back to a URL nobody can check. */
let alt = null
try {
const c = await fetch(`https://api.arclight.org/v2/media-components?languageIds=${v.id}&limit=25`, { headers: { 'User-Agent': UA } })
if (c.ok) {
const cj = await c.json()
const feature = (cj._embedded?.mediaComponents || []).find((m) => m.subType === 'featureFilm')
if (feature) {
const fr = await fetch(`https://api.arclight.org/v2/media-components/${feature.mediaComponentId}/languages/${v.id}`, { headers: { 'User-Agent': UA } })
if (fr.ok) {
const fd = await fr.json()
const fu = String(fd.shareUrl || '').replace(/^http:\/\//, 'https://')
if (fu) alt = { u: fu, t: feature.title || feature.mediaComponentId }
}
}
}
} catch { /* fall through to null */ }
out[code] = alt
if (alt) fetched++; else missing++
}
} catch { missing++ }
// The CHECKPOINT write is deliberately unguarded: this script resumes from the existing
// file as a cache, so `out` starts full and only grows. It cannot shrink, which is the
@ -62,7 +128,7 @@ for (let i = 0; i < entries.length; i++) {
await new Promise((r) => setTimeout(r, DELAY))
}
writeSnapshot(OUT, JSON.stringify({
_note: 'Per-language JESUS Film deep links (shareUrl) from Arclight media-components 1_jf-0-0. Replaces ?languageId=, which the site ignores.',
_note: 'Per-language JESUS Film Project deep links (shareUrl) from Arclight media-components. A STRING is the JESUS Film (component 1_jf-0-0). An OBJECT {u,t} is a different JESUS Film Project feature in that language — the JESUS component has no entry for it — and t is the real title, which the surfaces must show instead of "JESUS Film". null means no feature exists and the film is dropped rather than linked to the retired ?languageId= URL, which nothing can verify.',
generated: new Date().toISOString().slice(0, 10),
stats: { languages: entries.length, withShareUrl: Object.keys(out).length, missing },
codes: out,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -911,7 +911,7 @@
"pct_with_nothing": 9.8,
"people_with_nothing": 146600,
"groups_with_scripture": 19,
"groups_with_film": 24,
"groups_with_film": 23,
"band": "partial",
"growing_unreached": 7,
"deaths_day": 14.5,
@ -1121,7 +1121,7 @@
"pct_with_nothing": 10.7,
"people_with_nothing": 98950,
"groups_with_scripture": 21,
"groups_with_film": 25,
"groups_with_film": 24,
"band": "partial",
"growing_unreached": 0,
"deaths_day": 1.1,

View file

@ -337,7 +337,7 @@
"no_resource": 4,
"pop_no_resource": 146600,
"scripture": 19,
"film": 24,
"film": 23,
"growing_unreached": 7,
"deaths_day": 14.5,
"growth": 2.4,
@ -2241,7 +2241,7 @@
"no_resource": 3,
"pop_no_resource": 98950,
"scripture": 21,
"film": 25,
"film": 24,
"growing_unreached": 0,
"deaths_day": 1.1,
"growth": 2.12,

View file

@ -1,7 +1,7 @@
{
"meta": {
"title": "Gospel resource link verification",
"generated": "2026-09-25T02:30:53.812Z",
"generated": "2026-09-25T03:43:08.467Z",
"method": "HEAD, redirects followed. verified = HTTP 200. broken = 404/410. unknown = unreachable, an ambiguous status, or a URL shape that cannot be checked by fetch.",
"scope": "Every URL in data/tables/people-group-pins.json, deduplicated.",
"states": {
@ -96,12 +96,12 @@
]
},
"summary": {
"records": 8513,
"checkedThisPass": 40,
"records": 8516,
"checkedThisPass": 3,
"carriedForward": 74,
"pruned": 0,
"broken": 74,
"verified": 8434,
"verified": 8437,
"unknown": 5
},
"byHost": {
@ -119,11 +119,11 @@
"verified": 3
},
"jesusfilm.org": {
"verified": 2048,
"verified": 2050,
"broken": 1
},
"arc.gt": {
"verified": 32,
"verified": 33,
"broken": 1
},
"zume.training": {
@ -42711,6 +42711,21 @@
"state": "verified",
"detail": "5fish redirected to its language page https://fivefish.org/2235?language=Mehinaku (the site answers 200 for any path)",
"at": "2026-09-25T02:30:53.528Z"
},
"https://jesusfilm.org/watch/magdalena-director-cut/mazanderani": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/magdalena-director-cut.html/mazanderani.html)",
"at": "2026-09-25T03:43:07.735Z"
},
"https://jesusfilm.org/watch/magdalena-director-cut/kachhi-gujerati": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/magdalena-director-cut.html/kachhi-gujerati.html)",
"at": "2026-09-25T03:43:07.768Z"
},
"https://arc.gt/durve": {
"state": "verified",
"detail": "HTTP 200 (via https://www.jesusfilm.org/watch/the-savior.html/arabic-najdi.html)",
"at": "2026-09-25T03:43:07.944Z"
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -260,7 +260,7 @@
"iso639_3": "ars",
"population": 12970000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 24.56,
@ -1562,7 +1562,7 @@
"iso639_3": "ars",
"population": 1990000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 31.77,
@ -2066,7 +2066,7 @@
"iso639_3": "ars",
"population": 1485000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 34.54,
@ -2122,7 +2122,7 @@
"iso639_3": "ars",
"population": 1440000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 24.69,
@ -2248,7 +2248,7 @@
"iso639_3": "ars",
"population": 1365000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 32.5,
@ -6014,7 +6014,7 @@
"iso639_3": "ars",
"population": 382000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 29.34,
@ -14288,7 +14288,7 @@
"iso639_3": "ars",
"population": 79000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 34.09,
@ -23752,7 +23752,7 @@
"iso639_3": "ars",
"population": 20000,
"can_hear": "the JESUS Film",
"first_link": "https://www.jesusfilm.org/watch/?languageId=184591",
"first_link": "https://arc.gt/durve",
"checked_pools": "arclight, door43, ebible, fcbh, scriptureearth",
"unchecked_pools": "api_bible, dbl, progress_bible, youversion, grn (not yet swept)",
"lat": 45.44,

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -596,7 +596,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "doxa-maps/gospel-resources/gospel-resources.js",
"integrity": "sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw",
"integrity": "sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq",
"elements": [
"gospel-resources-map"
],
@ -616,7 +616,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/charts/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -630,7 +630,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/data-tables/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -644,7 +644,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/gospel-dashboard/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -658,7 +658,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -672,7 +672,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-map/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-muBwL0JGuEgF9nEiranHSAJ1y7Ip/o8jdt8jhTVns34CxvEKgKmanIN6SeQbIazw\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-zCWRceOR5Ch5p+IQMYtMEy4Fq8oij8wmY/2ZZHudvoF6wJtZVZ0EcjvfONY6xvAq\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
}
]