← back to Ventura Corridor
feat: explicit 'Source: <site>' credit on news + archive cards (Steve 2026-07-13: crawled items must credit the client site)
a49ac4f1b3393469867c2674e645477aacdf4e10 · 2026-07-13 10:29:36 -0700 · Steve Abrams
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Files touched
M public/news.htmlM public/news/archive.html
Diff
commit a49ac4f1b3393469867c2674e645477aacdf4e10
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jul 13 10:29:36 2026 -0700
feat: explicit 'Source: <site>' credit on news + archive cards (Steve 2026-07-13: crawled items must credit the client site)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---
public/news.html | 2 +-
public/news/archive.html | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/public/news.html b/public/news.html
index 81bc918..9d71338 100644
--- a/public/news.html
+++ b/public/news.html
@@ -153,7 +153,7 @@ function render() {
needsSummary ? '<div class="needs-summary">awaiting qwen3 summary…</div>' : '',
'<div class="meta">',
'<span>', escHtml(fmtDate(date)), '</span>',
- '<span>', escHtml(host), '</span>',
+ host ? '<span class="credit">Source: ' + escHtml(host) + '</span>' : '',
'</div>',
'</a>'
].join('');
diff --git a/public/news/archive.html b/public/news/archive.html
index 15bf99d..648a560 100644
--- a/public/news/archive.html
+++ b/public/news/archive.html
@@ -83,10 +83,11 @@ async function load() {
const items = (w.items || []).map(it => {
const date = it.date;
const text = it.summary || it.excerpt || '';
+ let srcHost = ''; try { srcHost = new URL(it.source_url).hostname.replace(/^www\./, ''); } catch(e) {}
return `<div class="item">
<div class="biz"><a href="/business/${it.business_id}/news">${escHtml(it.business_name||'')}${it.city?' · '+escHtml(it.city):''}</a></div>
<h4><a href="${escHtml(safeUrl(it.source_url))}" target="_blank" rel="noopener noreferrer">${escHtml((it.title||'(untitled)').slice(0,140))}</a></h4>
- <div class="meta">${escHtml(fmtDate(date))}</div>
+ <div class="meta">${escHtml(fmtDate(date))}${srcHost ? ' · Source: ' + escHtml(srcHost) : ''}</div>
</div>`;
}).join('');
return `<section class="week">
← d2e66de fix: Ollama fallbacks pointed at dead hosts (mac2 tailnet IP
·
back to Ventura Corridor
·
move tsx to runtime dependencies — prod launches via tsx, -- e4101a6 →