promotional bannermobile promotional banner

Mythic Dungeon Notes

Mythic Dungeon Notes

File Details

v.20260503.1

  • R
  • May 3, 2026
  • 7.71 MB
  • 108
  • 12.0.5+1
  • Retail

File Name

MythicDungeonNotes-v.20260503.1.zip

Supported Versions

  • 12.0.5
  • 12.0.1

Mythic Dungeon Notes

v.20260503.1 (2026-05-03)

Full Changelog Previous Releases

  • chore(toc): register Wago project ID for addon distribution
  • feat(seo): surface "World of Warcraft" in titles, descriptions and JSON-LD
    "Mythic+" alone doesn't tell search engines the page is about WoW. Add
    the full game name to:
    • index page titles ("World of Warcraft Mythic+ Dungeon Guides")
    • guide page titles ("<Dungeon> — World of Warcraft Mythic+ guide")
    • all descriptions (prepended with a structured WoW prefix, then the
      auto-extracted dungeon-specific text)
    • JSON-LD Article: keywords[] + about.@type=VideoGame linked to the
      WoW Wikidata entity, helping rich snippets connect the page to the
      game knowledge graph
    • JSON-LD ItemList on index pages: keywords[] for the same reason
  • feat(web): full SEO pass — sitemap, hreflang, OpenGraph, JSON-LD
    • Set the canonical site URL to https://www.willou.com (custom domain)
    • Add @astrojs/sitemap with i18n config → sitemap-index.xml +
      sitemap-0.xml referencing all 26 pages with hreflang alternates
    • public/robots.txt allowing all crawlers and pointing at the sitemap
    • public/CNAME so the custom domain survives every Pages deploy
    • Base.astro now emits per-page:
      • <meta name="description">
      • <link rel="canonical">
      • <link rel="alternate" hreflang> for en, fr, x-default
      • Open Graph tags (type, site_name, title, description, url, image,
        locale + locale:alternate)
      • Twitter Card tags
      • Optional JSON-LD blocks via the new jsonLd prop
    • Index pages emit ItemList JSON-LD with all dungeons; guide pages emit
      Article + BreadcrumbList
    • Guide page descriptions are extracted from the first section's text
      (HTML-stripped, truncated at 155 chars), with a localized fallback
    • OG image generated via getImage() from the addon logo at 600x600 WebP
  • fix(assets): track dungeon map PNGs so the web build can find them in CI
    The Images/ folder was gitignored, so CI had no source files to feed the
    sharp WebP optimizer and dungeon map URLs returned 404. Track the .png
    sources (used by the web companion site) while keeping .tga ignored
    (those are regenerated locally by convert_assets.py before addon
    packaging).
  • fix(ci): use npm install with --include=optional for cross-platform sharp
    sharp v0.33+ relies on @img/sharp-<platform> optional binary packages.
    npm only records those for the host OS in package-lock.json, so a lock
    generated on Windows fails npm ci on Linux. The sharp docs recommend
    using npm install --include=optional in CI to handle this.
  • ci(web): add GitHub Pages deploy workflow
    Rebuilds and publishes web/dist to GitHub Pages on every push to main
    that touches the addon Lua sources or the web/ folder. To activate,
    enable Pages in repo Settings with "GitHub Actions" as the source.
  • feat(web): add Astro static site for dungeon guides
    Companion website for the MythicDungeonNotes addon, generated from the
    same .lua sources used in-game. Bilingual EN/FR with a per-language
    Wowhead subdomain so spell tooltips load in the visitor's language.
    Build pipeline (web/scripts/build-content.mjs):
    • parses Locales/{enUS,frFR}.lua via regex
    • evaluates each Guide/Dungeons/*.lua in a Lua VM (wasmoon) with stubs
      for ns.L / ns.Spell / ns.NPC, captures the structured guide data
    • transforms WoW markup (color codes, texture escapes, spell/npc
      markers) into HTML + Wowhead links
    • optimizes dungeon map images to WebP via sharp
    • copies the addon logo into src/assets/ for astro:assets
      Site:
    • Astro 5 with native i18n routing (/en/, /fr/)
    • SCSS with CSS custom props for runtime themability
    • astro:assets for the logo (auto WebP/AVIF + retina densities)
    • Wowhead power.js loaded with whTooltips config inline (is:inline)
    • AddonBanner promoting CurseForge install + GitHub source, with
      GoatCounter click events for analytics
    • 4.8MB of source images optimized to ~230KB total
  • fix(locales): extract hardcoded AA entrance strings to L[] keys
    The intro and boss-list paragraphs of the Algeth'ar Academy entrance
    section were hardcoded in French inside the .lua file, so the EN guide
    showed French text. Move them to AA_entrance_intro / AA_entrance_bosses
    in both locales.
  • chore(assets): add project logos at repo root
    Used by the upcoming web companion site for the addon banner.