Files
fabula-ultima-html/html/106.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

57 lines
2.8 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>Octavia - Protagonist Profile</title>
<link rel="stylesheet" href="book-page.css">
</head>
<body>
<header>
<span>Page 105</span> | W 33 PROTAGONISTS: OCTA VIA POLPI
</header>
<section id="basic-information">
<h2>BASIC INFORMATION</h2>
<!-- Using a grid-like structure for key metadata -->
<div class="metadata-list">
<div><strong>Identity:</strong></div><span>Proud Ocean Merchant</span>
<div><strong>Theme:</strong></div><span>Rebellion</span>
<div><strong>Origin:</strong></div><span>Yonaguni</span>
<div><strong>Quirk:</strong></div><span>Stubborn Scion</span>
<!-- Combining weapons into a list format -->
<div style="grid-column: 1 / -1;">
<strong>Signature Weapons:</strong>
<ul>
<li>Reinforced Pipe</li>
</ul>
</div>
</div>
<h2>OCTAVIA IN DETAIL</h2>
<!-- Key character descriptions (formatted as bulleted paragraphs) -->
<ul>
<li>The youngest offspring of the Polpi merchant clan, Octavia is a young oceanid, whose stubbornness and cutting humor hide a heart of gold. This spirit led her to rebel against her own family's ways of conducting business, prompting her decision to travel the surface world and build a commerce and communication network that addresses local needs—and outmaneuver her relatives in the process.</li>
<li>Octavia is always accompanied by two tireless bodyguards: Crabecca and Breamthony. Breamthony shares some of her opinions about the rest of the family, while Crabecca remains constantly worried for her safety.</li>
<li>Octavias shrewdness is well represented by her Merchant and Orator Classes. In times of emergency, she can deal substantial blows with her reinforced pipe (which utilizes the staff profile).</li>
</ul>
<!-- Player/GM Instructions -->
<div class="section-note">
<h3>Campaign Guidance Notes</h3>
<ul>
<li>The Player should provide information about the Polpi clan, the oceanids, and the underwater territory of Yonaguni. This must include details regarding available transportation methods for surface-dwellers planning a visit.</li>
<li>At the start of the campaign, Octavia is driven by her need for Rebellion. However, over the course of the game, she should realize the true nature of her feelings and demonstrate increased maturity.</li>
</ul>
</div>
</section>
<div class="final-notice">
</div>
</body>
</html>