From 939db61f88f58d249066c0f04e67f9209b225a68 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 18:26:32 +0000 Subject: [PATCH] Show the corrections email address as the link text The "Report a correction" link was a bare mailto link, which does nothing in browsers with no mail app set up. The address is now shown as the link text on the home page and About page so visitors can read or copy it. --- scripts/lib/web.ts | 4 ++-- src/styles.css | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/lib/web.ts b/scripts/lib/web.ts index 0c4912c..7c5511e 100644 --- a/scripts/lib/web.ts +++ b/scripts/lib/web.ts @@ -50,7 +50,7 @@ export function pages(site: Site, data: PublicDataset, usage?: Usage): Page[] { const page = (path: string, title: string, body: string, indexable = true) => output.push({ path, title: `${title} | ${site.site_name}`, description: `${title}. ${site.description}`, body: `

${title}

${body}`, indexable }); page('/methodology/', c.methodology, `

${c.methodologyText}

${c.methodologyScope}

${c.reviewInterval(site.review.interval_days)}

${warning}

${c.holidayText}

${site.jurisdiction ? `

${c.holidayCoverage}: ${e(site.jurisdiction.coverage_through)}

` : ''}

${c.json}

`); page('/privacy/', c.privacy, `

${c.privacyText}

${c.privacyOffline}

${site.analytics?.enabled ? `

${c.analyticsOn}

${e(site.analytics.disclosure)}

${c.analyticsExplanation}

${e(new URL(site.analytics.endpoint!).origin)}

${analyticsChoice()}` : `

${c.analyticsOff}

`}`); - page('/about/', c.about, `

${e(site.description)}

${c.maintained}: ${e(site.operator.name)}

${e(site.operator.statement ?? '')}

${c.report}

${c.software}

${site.software_source_url ? `

${e(site.software_source_url)}

` : ''}`); + page('/about/', c.about, `

${e(site.description)}

${c.maintained}: ${e(site.operator.name)}

${e(site.operator.statement ?? '')}

${c.report}: ${e(site.corrections.email)}

${c.software}

${site.software_source_url ? `

${e(site.software_source_url)}

` : ''}`); page('/licenses/', c.licenses, `

${c.softwareLicense} MPL-2.0

${sourceLink(site)}

${c.attribution}

${c.fontLicense} OFL

${c.dataLicense}

${e(site.data_rights.statement)}

${site.data_rights.url ? `${e(site.data_rights.license ?? site.data_rights.url)}` : ''}`); if (usage) page('/usage/', c.usage, `

${c.usageIntro}

${c.usagePeriod}: ${e(usage.period_start)} – ${e(usage.period_end)}

${c.usageGenerated}: ${e(usage.generated_at)}

${Object.entries(usage.counts).map(([key, value]) => `
${c.usageCounts[key as keyof typeof c.usageCounts]}
${value === null ? c.usageMissing : new Intl.NumberFormat(site.locale).format(value)}
`).join('')}
`, false); page('/404.html', c.notFound, `

${c.notFoundText}

`, false); @@ -63,7 +63,7 @@ function analyticsChoice(): string { function sourceLink(site: Site): string { return site.software_source_url ? `

${c.coveredSource}

` : ''; } function aboutSection(site: Site): string { return `
-

${c.about}

${c.aboutShort}

${c.report}
+

${c.about}

${c.aboutShort}

${c.report}: ${e(site.corrections.email)}

${c.saveDirectory}

${c.installHelp}

${c.privacyOffline}

${c.simple} · ${c.download}

${c.yourPrivacy}

${c.privacyText}

${site.analytics?.enabled ? e(site.analytics.disclosure) : c.analyticsOff}

${site.analytics?.enabled ? analyticsChoice() : ''}

${c.privacy}

diff --git a/src/styles.css b/src/styles.css index 44d6add..a48ef52 100644 --- a/src/styles.css +++ b/src/styles.css @@ -663,6 +663,9 @@ h1 em { max-width:40ch; color:var(--muted); } +.about-intro .about-report { + overflow-wrap:anywhere; +} .about-intro a { display:inline-block; padding:.5rem 0;