Commit Graph
9 Commits
Author SHA1 Message Date
bot-implementer cb9cf703a8 docs: document the newsletter page and its config in the README
CI / Run tests (pull_request) Successful in 16s
2026-08-25 19:15:56 +00:00
bot-implementer 49690a7934 test: component + unit tests for the newsletter signup
Covers the issue test plan: form renders and posts to the endpoint; token is
read from config, never hardcoded in source; a failed-token response shows a
user-safe error without leaking the secret; confirmation on success.
2026-08-25 19:15:56 +00:00
bot-implementer 24db5b8a50 feat: add serverless newsletter signup page
Adds newsletter.html with an email signup form that POSTs to a configured
serverless endpoint. The endpoint and API token live in
js/newsletter-config.js (token defaults to an empty deploy-time placeholder,
never hardcoded in page logic). Missing/invalid tokens and network failures
surface a fixed user-safe error; successful signups show a confirmation.
Links the page from the site navigation on all pages.
2026-08-25 19:15:56 +00:00
bot-implementer e4a192baab docs: document the reading list page and data file in the README
CI / Run tests (pull_request) Has been cancelled
2026-08-25 12:30:10 +00:00
bot-implementer f278df1214 test: component + unit tests for the reading list page
Covers: page wiring and nav reachability, data-file integrity, grouped
rendering, valid hrefs, optional notes, HTML escaping, invalid-entry
skipping, data-only extensibility, and a 500-entry fixture (counts,
grouping, and a generous render-time bound).
2026-08-25 12:30:10 +00:00
bot-implementer dfaaeaf7f4 feat: add reading list page and link it from site navigation
New reading.html renders the data file into a #reading-list container and
marks itself as the current page. Home and contact pages gain a Reading nav
link. CSS adds responsive category/list styles (two columns on wide
screens) so long lists stay scannable.
2026-08-25 12:30:09 +00:00
bot-implementer ffdcd35cea feat: add reading list renderer module
Renders the data file as category-grouped HTML. Pure string builder with
guarded browser wiring so it is unit-testable in Node; escapes all text,
skips invalid entries, and handles duplicate category slugs.
2026-08-25 12:30:06 +00:00
bot-implementer 05cfbad4ad feat: add curated reading list data file
Single source of truth for the reading list page. Entries carry a title,
url, category, and an optional one-line note; adding a link means editing
this file only.
2026-08-25 12:30:06 +00:00
bot-implementer 37f2c9a2f2 chore: use default test discovery so npm test works across node builds
`node --test <dir>` treats a directory argument as a module path on some
Node builds (reproduced on v22.23.2), so `npm test` failed before running
any tests. `node --test` with no args discovers the same tests/ files
portably.
2026-08-25 12:30:06 +00:00