Files
fabula-ultima-html/html/207.html
Drew Malzahn c75cd188c1 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>
2026-06-06 03:36:35 +00:00

194 lines
9.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index Directory</title>
<link rel="stylesheet" href="book-page.css">
</head>
<body>
<div class="container">
<h1>Index Directory</h1>
<!-- Group A -->
<div class="section-group">
<h2 class="section-header">A</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">abyss sheet</span> <span class="page-number">18</span></li>
<li class="index-item"><span class="entry-title">artifacts</span> <span class="page-number">88</span></li>
</ul>
</div>
<!-- Group B -->
<div class="section-group">
<h2 class="section-header">B</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Badger Temple</span> <span class="page-number">22</span></li>
<li class="index-item"><span class="entry-title">Breezeburg</span> <span class="page-number">26</span></li>
<li class="index-item"><span class="entry-title">Brightvale</span> <span class="page-number">186</span></li>
</ul>
</div>
<!-- Group C -->
<div class="section-group">
<h2 class="section-header">C</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Camp Activities</span> <span class="page-number">130</span></li>
<li class="index-item"><span class="entry-title">Candle Bay</span> <span class="page-number">30</span></li>
<li class="index-item"><span class="entry-title">Cerulean Jungle</span> <span class="page-number">34</span></li>
<li class="index-item"><span class="entry-title">classic characters</span> <span class="page-number">134</span></li>
<li class="index-item"><span class="entry-title">conflicts</span> <span class="page-number">62</span></li>
<li class="index-item"><span class="entry-title">cookbook sheet</span> <span class="page-number">150</span></li>
<li class="index-item"><span class="entry-title">custom weapons</span> <span class="page-number">112</span></li>
</ul>
</div>
<!-- Group D -->
<div class="section-group">
<h2 class="section-header">D</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Darkdepth</span> <span class="page-number">38</span></li>
<li class="index-item"><span class="entry-title">delicacy</span> <span class="page-number">151152</span></li>
<li class="index-item"><span class="entry-title">Dylon</span> <span class="page-number">182</span></li>
</ul>
</div>
<!-- Group E -->
<div class="section-group">
<h2 class="section-header">E</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Eisenstadt</span> <span class="page-number">42</span></li>
<li class="index-item"><span class="entry-title">Eldgren</span> <span class="page-number">198</span></li>
<li class="index-item"><span class="entry-title">environmental antagonist</span> <span class="page-number">174</span></li>
</ul>
</div>
<!-- Group F -->
<div class="section-group">
<h2 class="section-header">F</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Floralist</span> <span class="page-number">138</span></li>
<li class="index-item"><span class="entry-title">forging</span> <span class="page-number">74</span></li>
</ul>
</div>
<!-- Group G -->
<div class="section-group">
<h2 class="section-header">G</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">garden</span> <span class="page-number">140</span></li>
<li class="index-item"><span class="entry-title">Golden City</span> <span class="page-number">46</span></li>
<li class="index-item"><span class="entry-title">Gourmet</span> <span class="page-number">148</span></li>
<li class="index-item"><span class="entry-title">Growth Clock</span> <span class="page-number">140</span></li>
</ul>
</div>
<!-- Group H -->
<div class="section-group">
<h2 class="section-header">H</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Heroic Skills</span> <span class="page-number">160</span></li>
</ul>
</div>
<!-- Group I -->
<div class="section-group">
<h2 class="section-header">I</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">invocation</span> <span class="page-number">156</span></li>
<li class="index-item"><span class="entry-title">Invoker</span> <span class="page-number">154</span></li>
</ul>
</div>
<!-- Group L -->
<div class="section-group">
<h2 class="section-header">L</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Lowtide</span> <span class="page-number">50</span></li>
</ul>
</div>
<!-- Group M -->
<div class="section-group">
<h2 class="section-header">M</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">magiseed</span> <span class="page-number">140</span></li>
<li class="index-item"><span class="entry-title">materials</span> <span class="page-number">74, 78</span></li>
<li class="index-item"><span class="entry-title">Merchant</span> <span class="page-number">158</span></li>
<li class="index-item"><span class="entry-title">multi-part enemies</span> <span class="page-number">180</span></li>
</ul>
</div>
<!-- Group N -->
<div class="section-group">
<h2 class="section-header">N</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">natural fantasy locations</span> <span class="page-number">16</span></li>
<li class="index-item"><span class="entry-title">natural fantasy Pillars</span> <span class="page-number">8</span></li>
<li class="index-item"><span class="entry-title">Node</span> <span class="page-number">182</span></li>
</ul>
</div>
<!-- Group Q -->
<div class="section-group">
<h2 class="section-header">Q</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Quirks</span> <span class="page-number">120</span></li>
</ul>
</div>
<!-- Group R -->
<div class="section-group">
<h2 class="section-header">R</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">rare items</span> <span class="page-number">82</span></li>
<li>
<div class="sub-list">
<p><strong style="font-size: 1.1em;">accessories</strong>: 87</p>
<p><strong style="font-size: 1.1em;">rare armor</strong>: 86</p>
<p><strong style="font-size: 1.1em;">rare shields</strong>: 86</p>
<p><strong style="font-size: 1.1em;">rare weapons</strong>: 84</p>
</div>
</li>
<li class="index-item"><span class="entry-title">Rocky Desert</span> <span class="page-number">54</span></li>
</ul>
</div>
<!-- Group S -->
<div class="section-group">
<h2 class="section-header">S</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">sample natural fantasy characters</span> <span class="page-number">97</span></li>
</ul>
</div>
<!-- Group T -->
<div class="section-group">
<h2 class="section-header">T</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">Titania, Queen of Fairies</span> <span class="page-number">192</span></li>
<li class="index-item"><span class="entry-title">T onitranea Rex</span> <span class="page-number">176</span></li>
<li class="index-item"><span class="entry-title">Trade Points</span> <span class="page-number">159</span></li>
</ul>
</div>
<!-- Group V -->
<div class="section-group">
<h2 class="section-header">V</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">vertical development worlds</span> <span class="page-number">18</span></li>
<li class="index-item"><span class="entry-title">Vertigo Peak</span> <span class="page-number">58</span></li>
</ul>
</div>
<!-- Group W -->
<div class="section-group">
<h2 class="section-header">W</h2>
<ul class="index-list">
<li class="index-item"><span class="entry-title">wellspring</span> <span class="page-number">156</span></li>
</ul>
</div>
<!-- Final Index -->
<div class="section-group final