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

106
html/120.html Normal file
View File

@@ -0,0 +1,106 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weapon Listings</title>
<link rel="stylesheet" href="book-page.css">
</head>
<body>
<!-- Header Context (Minimized for clean presentation) -->
<div style="text-align: right; font-size: 0.9em; color: #888;">Page 119</div>
<h1>PROTAGONISTS</h1>
<!------------------- Water Toll Section --------------------->
<section class="weapon-entry water-toll">
<h2 class="weapon-title">WATER TOLL</h2>
<p>A possible rare evolution, worth 1500 zenit.</p>
<!-- Form I -->
<h3>Form I</h3>
<div class="stats-info">
<div class="stat-item"><strong>Accuracy:</strong> (DEX + MIG)</div>
<div class="stat-item"><strong>Damage:</strong> (HR + 9) physical</div>
</div>
<div class="attributes">
<strong>Attributes:</strong> Brawling • Two-handed • Melee
<ul>
<li>After you resolve one of your water invocations (see page 157), you may perform a free attack with this weapon. Treat your High Roll (HR) as 0 when calculating damage dealt by this attack.</li>
<li>This weapon has the quick and transforming customizations.</li>
</ul>
</div>
<!-- Form II -->
<h3>Form II</h3>
<div class="stats-info">
<div class="stat-item"><strong>Accuracy:</strong> (DEX + MIG)</div>
<div class="stat-item"><strong>Damage:</strong> (HR + 16) ice</div>
</div>
<div class="attributes">
<strong>Attributes:</strong> Flail • Two-handed • Melee
<ul>
<li>After you resolve one of your water invocations (see page 157), you may perform a free attack with this weapon. Treat your High Roll (HR) as 0 when calculating damage dealt by this attack.</li>
<li>This weapon has the elemental, powerful and transforming customizations.</li>
</ul>
</div>
</section>
<!------------------- Seeker's Shovels Section --------------------->
<section class="weapon-entry seeker-shovels">
<h2>SEEKERS SHOVELS</h2>
<p>The crystal-seekers from Rockvale learn how to handle these massive shovels from birth.</p>
<!-- Shovelpick -->
<div style="margin-top: 20px;">
<h4>SHOVELPICK</h4>
<p><em>(Basic Form)</em>, worth 300 zenit.</p>
<div class="stats-info">
<div class="stat-item"><strong>Accuracy:</strong> (DEX + MIG) +2</div>
<div class="stat-item"><strong>Damage:</strong> (HR + 12) physical</div>
</div>
<div class="attributes">
<strong>Attributes:</strong> Heavy • Two-handed • Melee
<ul>
<li>No Quality.</li>
<li>This weapon has the accurate, defense boost and powerful customizations.</li>
</ul>
</div>
</div>
<!-- Vanguard Spade -->
<div style="margin-top: 30px;">
<h4>VANGUARD SPADE</h4>
<p>A possible rare evolution, worth 1300 zenit.</p>
<div class="stats-info">
<div class="stat-item"><strong>Accuracy:</strong> (DEX + MIG) +2</div>
<div class="stat-item"><strong>Damage:</strong> (HR + 16) physical</div>
</div>
<div class="attributes">
<strong>Attributes:</strong> Heavy • Two-handed • Melee
<ul>
<li>You gain Resistance to earth damage. Additionally, when you suffer earth damage, you gain 50 zenit and regain 1 Inventory Point.</li>
<li>This weapon has the accurate, defense boost and powerful customizations.</li>
</ul>
</div>
</div>
</section>
<!-- Disclaimers/Notes -->
<div class="disclaimer">
<em>cc Weapon customizations are not part of its Qualities!</em>
</div>
<div style="text-align: center; margin-top: 30px; color: #aaa;">
</div>
</body>
</html>