Files
wh40k-points-comparator/index.html
root 38bffa491c Initial commit: WH40K Points Comparator
- React + MUI DataGrid app with faction filter, search, change filter
- Biggest movers cards (drops/rises) scoped to current filter view
- Historical points graph modal (5 MFM versions: 1.14 → current)
- URL state sync (faction, dir, q params — shareable URLs)
- Grimdark favicon + OG embed image (Google Imagen)
- Multi-stage Dockerfile (node build → nginx serve)
- docker-compose.yml with Traefik + Cloudflare TLS
- Data pipeline: build_deduped_data.py merges PDF + live scrape
- Ynnari merged into Aeldari (shared codex)
- Mobile responsive: flex columns, no fixed pixel widths
- Color semantics: green=cheaper, red=costlier (consistent everywhere)
- 1,449 units across 31 factions
2026-06-18 02:42:29 +00:00

59 lines
2.7 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>WH40K 10th Edition — Faction Points Compendium</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
max-width: 900px; margin: 40px auto; padding: 0 20px;
background: #0d1117; color: #e6edf3; }
h1 { color: #c9d1d9; border-bottom: 1px solid #30363d; padding-bottom: 10px; }
h2 { color: #8b949e; font-size: 1.1em; margin-top: 30px; }
.card { background: #161b22; border: 1px solid #30363d; border-radius: 8px;
padding: 20px; margin: 15px 0; }
.card h3 { margin-top: 0; color: #c9d1d9; }
a.btn { display: inline-block; background: #238636; color: white; padding: 10px 18px;
border-radius: 6px; text-decoration: none; font-weight: 600; margin: 4px 8px 4px 0; }
a.btn.alt { background: #1f6feb; }
a.btn:hover { opacity: 0.9; }
code { background: #0d1117; padding: 2px 6px; border-radius: 3px; color: #79c0ff; }
.meta { color: #8b949e; font-size: 0.9em; }
.legend { display: flex; gap: 20px; margin: 10px 0; }
.legend span { padding: 4px 12px; border-radius: 4px; font-size: 0.9em; }
.pos { background: #c6efce; color: #006100; }
.neg { background: #ffc7ce; color: #9c0006; }
.neutral { background: #d9e1f2; color: #1f4e78; }
</style>
</head>
<body>
<h1>WH40K 10th Edition — Faction Points Compendium</h1>
<p class="meta">30 factions · 1,820 unit rows · mfm.warhammer-community.com + Full_armies_10th.pdf</p>
<h2>📊 Excel workbook (recommended)</h2>
<div class="card">
<h3>wh40k_factions_all.xlsx</h3>
<p>One workbook, 30 sheets (one per faction) plus a Summary sheet. The <code>% change</code> column is color-coded:</p>
<div class="legend">
<span class="pos">Positive change (green)</span>
<span class="neg">Negative change (red)</span>
<span class="neutral">No change (neutral)</span>
</div>
<a class="btn" href="/wh40k_factions_all.xlsx" download>⬇ Download xlsx (108 KB)</a>
</div>
<h2>📄 CSV downloads</h2>
<div class="card">
<h3>Per-faction + combined</h3>
<a class="btn alt" href="/csv/_all_factions.csv" download>⬇ All factions (single file, 91 KB)</a>
<a class="btn alt" href="/csv/" >📁 Browse 30 per-faction files</a>
</div>
<h2>📚 Source data</h2>
<div class="card meta">
<p><strong>Live MFM (Munitorum Field Manual) prices:</strong> scraped from <code>mfm.warhammer-community.com</code> on 2026-06-17.</p>
<p><strong>Original (pre-MFM) points:</strong> parsed from <code>Full_armies_10th.pdf</code> via pymupdf.</p>
<p><strong>Known gaps:</strong> Titan Legions and Chaos Titan Legions have no live MFM pages. Chapter supplements (BT, BA, DA, SW, DW) inherit from the Space Marines codex.</p>
</div>
</body>
</html>