initial commit
This commit is contained in:
90
.claude/skills/parse-dungeon/HTML-TEMPLATE.md
Normal file
90
.claude/skills/parse-dungeon/HTML-TEMPLATE.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# Data Template Reference
|
||||
|
||||
## Dungeon Data File Structure
|
||||
|
||||
Each dungeon is a TypeScript file in `src/data/` that exports a `DungeonData` object.
|
||||
|
||||
```typescript
|
||||
import type { DungeonData } from "@/types/dungeon";
|
||||
|
||||
export const dungeonSlug: DungeonData = {
|
||||
id: "dungeon-slug",
|
||||
name: "Dungeon Name",
|
||||
descriptionHtml: `Brief layout with <span class="wing-badge wing-arcane">Wing</span> badges if applicable`,
|
||||
headerImage: "/assets/dungeon_name_header.jpg",
|
||||
icon: "/assets/dungeon_dungeon_name.jpg",
|
||||
sections: [
|
||||
{
|
||||
type: "trash",
|
||||
data: {
|
||||
header: "Area Name — Trash Before BossName",
|
||||
content: [
|
||||
{ type: "quickRef", data: { html: `<strong>Environment:</strong> Brief description.` } },
|
||||
{
|
||||
type: "mob",
|
||||
data: {
|
||||
name: "Mob Name (Immune to CC)",
|
||||
nameHtml: `Mob Name <span style="color: var(--accent-red); font-size: 12px;">(Immune to CC)</span>`,
|
||||
tankRelevant: true,
|
||||
abilitiesHtml: [
|
||||
`<a href="https://www.wowhead.com/beta/spell=123456/ability-name">Ability Name</a> — TANK: What to do.`,
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
type: "boss",
|
||||
data: {
|
||||
bossNumber: "Boss 1 · Area/Wing",
|
||||
name: "Boss Name",
|
||||
subtitle: "One-line fight summary",
|
||||
image: "/assets/boss_name_boss_fight.jpg",
|
||||
abilities: [
|
||||
{
|
||||
name: "Ability Name",
|
||||
wowheadUrl: "https://www.wowhead.com/beta/spell=123456/ability-name",
|
||||
role: "tank",
|
||||
importance: "tank-important",
|
||||
descriptionHtml: `<ul><li><span class="warn">Warning.</span></li></ul>`,
|
||||
},
|
||||
{
|
||||
name: "Ability Name",
|
||||
wowheadUrl: "https://www.wowhead.com/beta/spell=123457/ability-name",
|
||||
role: "everyone",
|
||||
importance: "everyone-important",
|
||||
descriptionHtml: `<ul><li>Description.</li></ul>`,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{ type: "divider" },
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Registering in index.ts
|
||||
|
||||
```typescript
|
||||
import { dungeonSlug } from "./dungeon-slug";
|
||||
|
||||
// In dungeonList (alphabetical):
|
||||
{ id: "dungeon-slug", name: "Dungeon Name", icon: "/assets/dungeon_dungeon_name.jpg" },
|
||||
|
||||
// In dungeonDataMap:
|
||||
"dungeon-slug": dungeonSlug,
|
||||
```
|
||||
|
||||
## Roles & Importance
|
||||
|
||||
| Role | Importance | Visual |
|
||||
|------|-----------|--------|
|
||||
| `"tank"` | `"tank-important"` | Blue left border + badge |
|
||||
| `"everyone"` | `"everyone-important"` | Amber left border + badge |
|
||||
| `"healer"` | `"healer-important"` | Green left border + badge |
|
||||
| `"dps"` | `null` | Red badge, no border |
|
||||
|
||||
## HTML Classes: `warn` (red), `tip` (green), `wing-badge wing-arcane/void/light`
|
||||
|
||||
## Wowhead: `<a href="https://www.wowhead.com/beta/spell={ID}/{slug}">Name</a>`
|
||||
Reference in New Issue
Block a user