feat: Add book viewer at /book with shared design system

- Add html/index.html: book viewer with auto-discovering sidebar,
  prev/next navigation, keyboard shortcuts, and URL hash persistence
- Add html/book-page.css: shared stylesheet for all book pages derived
  from fabula-ultima-sheet.css (dark theme, CSS variables, Cinzel/
  Crimson Text fonts, common class styles)
- Add book.js entry point so webpack injects the shared CSS into the
  book viewer; update webpack.config.js for two entry points, split
  CSS chunk, CopyWebpackPlugin for book pages, and /book dev server
  rewrite rule
- Add scripts/strip_watermark.py: removes "Guest Customer (Order
  #52072168)" watermark artifacts from all 210 book pages
- Add scripts/restyle_book.py: strips per-page <style> blocks and
  injects <link rel="stylesheet" href="book-page.css"> into all pages
- Update Justfile deploy to scp -r dist/* for the new /book subtree

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 03:36:35 +00:00
parent 58552b536f
commit c75cd188c1
220 changed files with 12685 additions and 10 deletions

View File

@@ -1,14 +1,16 @@
user := "admin"
host := "chimaera.malzahn.lan"
www-root := "/home/admin/caddy/public_html/fabula"
# user := "admin"
# host := "chimaera.malzahn.lan"
# www-root := "/home/admin/caddy/public_html/fabula"
user := "root"
host := "goldfish.malzahn.lan"
www-root := "/usr/share/caddy/public_html/fabula"
serve:
npm run dev
deploy: build
scp dist/index.html {{ user }}@{{ host }}:{{ www-root }}/index.html
scp dist/bundle.*.js {{ user }}@{{ host }}:{{ www-root }}/
scp dist/styles.*.css {{ user }}@{{ host }}:{{ www-root }}/
scp -r dist/* {{ user }}@{{ host }}:{{ www-root }}/
build:
npm run build