← back to build-pages
ui: footer links to /api + /sitemap.xml (asim/sod parity) + 2 smoke
70698d8f58d145605e9ca29604890b566f552d0c · 2026-05-13 14:13:56 -0700 · SteveStudio2
Files touched
M public/css/site.cssM server.jsM test/smoke.js
Diff
commit 70698d8f58d145605e9ca29604890b566f552d0c
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Wed May 13 14:13:56 2026 -0700
ui: footer links to /api + /sitemap.xml (asim/sod parity) + 2 smoke
---
public/css/site.css | 3 +++
server.js | 4 ++++
test/smoke.js | 2 ++
3 files changed, 9 insertions(+)
diff --git a/public/css/site.css b/public/css/site.css
index 7064d77..61ff906 100644
--- a/public/css/site.css
+++ b/public/css/site.css
@@ -57,6 +57,9 @@ pre { background: var(--code-bg); padding: 14px 18px; overflow-x: auto; border-r
text-align: center; padding: 22px; color: var(--muted); font-size: 13px;
border-top: 1px solid var(--border);
}
+.bp-ftr-sep { margin: 0 8px; color: var(--border); }
+.bp-ftr a { color: var(--muted); }
+.bp-ftr a:hover { color: var(--link-hov); }
h1 { font-size: 32px; font-weight: 700; margin: 0 0 6px; letter-spacing: -0.7px; }
h2 { font-size: 20px; font-weight: 700; margin: 36px 0 14px; letter-spacing: -0.3px; }
.bp-lede { font-size: 17px; color: var(--muted); margin: 0 0 8px; max-width: 720px; }
diff --git a/server.js b/server.js
index 6df9ae1..e27440d 100644
--- a/server.js
+++ b/server.js
@@ -195,6 +195,10 @@ function shell(title, body, headExtra = '', meta = {}) {
</main>
<footer class="bp-ftr">
<span>git is the source of truth — this page is rendered live from <code>git log</code>.</span>
+ <span class="bp-ftr-sep">·</span>
+ <a href="/api">JSON API</a>
+ <span class="bp-ftr-sep">·</span>
+ <a href="/sitemap.xml">sitemap</a>
</footer>
</body>
</html>`;
diff --git a/test/smoke.js b/test/smoke.js
index e023eae..69dccc9 100644
--- a/test/smoke.js
+++ b/test/smoke.js
@@ -88,6 +88,8 @@ function check(name, cond, hint = '') {
check('home: WebSite JSON-LD', /"@type":"WebSite"/.test(r.body));
check('home: ItemList JSON-LD', /"@type":"ItemList"/.test(r.body));
check('home: fleet search input',/id="fleet-q"/.test(r.body));
+ check('home: footer /api link', /href="\/api"/.test(r.body));
+ check('home: footer sitemap link', /href="\/sitemap.xml"/.test(r.body));
// 5b. fleet search ?q= deep-link
r = await fetch('/?q=whisper');
← 929b3db api: /api discovery doc listing all 13 endpoints + 3 smoke
·
back to build-pages
·
seo: SoftwareSourceCode JSON-LD on each project page + 1 smo 734d442 →