[object Object]

← 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

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 →