Skip to content

Frontend modernization#81

Merged
DSpeckhals merged 2 commits into
masterfrom
frontend-modernization
May 12, 2026
Merged

Frontend modernization#81
DSpeckhals merged 2 commits into
masterfrom
frontend-modernization

Conversation

@DSpeckhals

Copy link
Copy Markdown
Owner

No description provided.

Move the UI to 2026 CSS standards and remove the sassc toolchain.

- Typography: self-host Literata variable font (latin subset, roman +
  italic) for long-form reading; UI chrome stays system-ui.
- Theming: oklch palette with light-dark() and a manual auto/light/dark
  toggle persisted in localStorage; FOUC-prevention bootstrap in <head>.
- CSS: rewrite around @layer (reset, tokens, base, components, pages),
  logical properties, container queries, fluid type via clamp(), cross-
  document view transitions, native CSS nesting. Ship each partial as
  its own .css file under web/dist/css/ and link them all from base.hbs
  — no compile step, no @import waterfall, layers.css sets cascade order
  first. Removes the sassc apt install and SCSS compile from Dockerfile.
- HTML: pull header chrome (logo, search, theme toggle) into base.hbs;
  verses become an <ol>/<li> with a gutter for verse numbers and a
  two-line drop cap on v1; <link rel=prev/next> emitted in <head>.
- JSON-LD: fix WebSite casing, remove the nested @context inside
  breadcrumbs, add SearchAction WebSite for the home page,
  SearchResultsPage on /search, AboutPage on /about.
- JS: drop the unconditional preventDefault on the search form (works
  without JS now); switch swipe nav to Pointer Events; replace
  document.onkeypress with addEventListener('keydown'); publish header
  height as --header-h so the autocomplete dropdown can anchor itself
  below the sticky header; service worker bumped to v7 with a
  network-first / SWR routing split and the new CSS files precached.
- Misc: scoped Cache-Control immutable on /static/fonts/*; BIND_ADDR
  env var for local dev; remove a stray println! from link.rs.
The pointer-based swipe handler fought iOS Safari's edge-swipe-back
gesture and was an undiscoverable duplicate of the existing prev/next
chrome in .page-nav and .chapter-tools. Drop it along with the now-unused
link-prev/link-next ids; the <link rel="prev/next"> tags themselves stay
for browser prefetch and crawler hints.
@DSpeckhals DSpeckhals merged commit be46bd2 into master May 12, 2026
1 check passed
@DSpeckhals DSpeckhals deleted the frontend-modernization branch May 13, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant