← back to build-pages
ui: commit-list <li id="hash"> deep-link anchors + :target highlight CSS + 1 smoke
7fbdfa07bbf5fd47b0d2070bd8ded89f71a1b9d8 · 2026-05-13 18:42:15 -0700 · SteveStudio2
Files touched
M public/css/site.cssM server.jsM test/smoke.js
Diff
commit 7fbdfa07bbf5fd47b0d2070bd8ded89f71a1b9d8
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Wed May 13 18:42:15 2026 -0700
ui: commit-list <li id="hash"> deep-link anchors + :target highlight CSS + 1 smoke
---
public/css/site.css | 1 +
server.js | 2 +-
test/smoke.js | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/public/css/site.css b/public/css/site.css
index c5683d1..33b782d 100644
--- a/public/css/site.css
+++ b/public/css/site.css
@@ -85,6 +85,7 @@ h2 { font-size: 20px; font-weight: 700; margin: 36px 0 14px; letter-spacing: -0.
font-size: 14px;
}
.bp-commits li:hover { background: var(--code-bg); }
+.bp-commits li:target { background: var(--chip-bg); outline: 2px solid var(--accent); outline-offset: -2px; }
.bp-commits code { background: var(--code-bg); padding: 2px 6px; border-radius: 4px; }
.bp-d { color: var(--muted); font-variant-numeric: tabular-nums; }
.bp-s { color: var(--fg); }
diff --git a/server.js b/server.js
index 08a72b4..01bdce0 100644
--- a/server.js
+++ b/server.js
@@ -534,7 +534,7 @@ app.get('/p/:slug', async (req, res, next) => {
<p id="bp-tally" class="bp-meta">${commits.length} commits indexed</p>
<ol id="bp-commits" class="bp-commits">
${commits.map(c => `
- <li data-h="${esc(c.shortHash)}" data-blob="${esc((c.subject + ' ' + c.body).toLowerCase().slice(0, 1500))}">
+ <li id="${esc(c.shortHash)}" data-h="${esc(c.shortHash)}" data-blob="${esc((c.subject + ' ' + c.body).toLowerCase().slice(0, 1500))}">
<a href="/p/${esc(req.params.slug)}/c/${esc(c.shortHash)}"><code>${esc(c.shortHash)}</code></a>
<span class="bp-d">${esc(c.dateISO.slice(0, 10))}</span>
<span class="bp-s">${esc(c.subject)}</span>
diff --git a/test/smoke.js b/test/smoke.js
index 59e339c..0f8e53a 100644
--- a/test/smoke.js
+++ b/test/smoke.js
@@ -176,6 +176,7 @@ function check(name, cond, hint = '') {
r = await fetch('/p/butlr');
check('butlr: feed autodiscover',/rel="alternate" type="application\/atom\+xml"/.test(r.body));
check('butlr: prev/next nav', /Other build journals/.test(r.body));
+ check('butlr: commit anchors', /<li id="[a-f0-9]{4,}"/.test(r.body));
// 11b. CSV export (per project)
r = await fetch('/p/butlr/commits.csv');
← 035207b smoke: 3 ?since= assertions across /api/search + /api/projec
·
back to build-pages
·
home: 'rendered in Xms' footer — request-time visibility (ty 77e85e8 →