Skip to content

Releases: PNGTRID/AnvilWiki

v1.8.1 — Inline Video Placement, Layout & i18n Fixes

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 09:13

AnvilWiki v1.8.1 — 内联视频自由定位(来自首个真实项目 dogfooding 反馈)。

Fixed / Added

  • <Video> MDX component: render a YouTube player wherever the author places it in the body. Frontmatter videos becomes the structured-data registry (VideoObject JSON-LD) + bottom fallback; inline IDs auto-dedupe from the fallback. 100% backward compatible.
  • Shared LazyYouTube player: event-delegation singleton script (no per-instance duplication), keyboard accessible, broken-thumbnail fallback to a text link (ytimg-unreachable regions).
  • Article layout: bottom videos moved up after the body; Comments moved to the very end.
  • i18n: "On this page" / "Quick Answer" now from locale JSON.

Full Changelog: v1.8.0...v1.8.1

v1.8.0 — AI-Native Content Skills, Structured Codes & Freshness Pipeline

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 07:26

AnvilWiki v1.8 — AI 原生内容生产 + 新鲜度管道:第一性原理路线落地。

Added

  • .agent/skills/ ships with the template (Agent Skills open standard): anvil-new-article / anvil-update-codes / anvil-refresh — fork users generate build-passing pages by just talking to their AI tool (ZCode / Claude Code / Codex / Cursor); scripts become the verification backend. AGENTS.md gains a "Conversational Content Authoring" section as the zero-install fallback.
  • Structured codes frontmatter (code/reward/status/expiryDate/source): auto-rendered CodesTable — Active section (one-click-copy blocks with freshness labels) + Expired table (long-tail "is X still working" SEO) + localized FAQPage JSON-LD. Demo codes articles migrated.
  • pnpm refresh-audit + weekly content-pipeline.yml: deterministic freshness audit (codes unverified >7d = P0, stale categories >90d = P1) files a tracking issue every Monday. Never mutates content — fixing stays human/AI-gated.
  • docs/game-selection.md: the missing first step — 4-layer game-selection funnel (Trends demand validation + SERP gap check + two-source rule) and a "first-day 10 pages" plan to compress the 2-8 week golden window.

Full Changelog: v1.7.0...v1.8.0

v1.7.0 — Image Gallery & Lightbox, Author System, Affiliate CTA & Content Lint

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 06:27

AnvilWiki v1.7 — 内容表达力二期 + E-E-A-T:画廊、作者体系、联盟链接与内容 lint。

Added

  • Image gallery + lightbox: gallery frontmatter (image/caption/alt) renders a thumbnail grid below the article body with a native <dialog> lightbox (prev/next/ESC/backdrop close). Each image emits ImageObject JSON-LD for Google Images. Thumbnails via Astro Image (auto WebP/srcset).
  • Author system: src/config/authors.ts registry — registered authors link out from the byline and upgrade Article JSON-LD author from Organization to Person (with sameAs). Bare author: names keep working.
  • <AffiliateLink> MDX component: affiliate/outbound CTA card with rel="sponsored nofollow noopener" baked in — an SEO-compliant second monetization channel. Zero JS.
  • pnpm check-content: content lint — no H1 in body, heading level skips, missing image alt text, trailing-slash internal links.

Changed

  • Demo content: Stormcaller carries a gallery + named author; beginner guide shows <AffiliateLink>.

Full Changelog: v1.6.0...v1.7.0

v1.6.0 — Translation & Link Audits, One-Click Fork Setup, CF Analytics

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 06:09

AnvilWiki v1.6 — 创作者维护工具 + 部署自动化:翻译覆盖率、内链审计、一键初始化 workflow。

Added

  • pnpm check-i18n: translation coverage report — missing articles & UI keys per locale vs English (--strict to gate CI).
  • pnpm check-links: internal-link audit over the built dist/ — catches renamed-slug body links, homepage JSON links to unwritten articles, and locale links to non-existent pages. Wired into CI.
  • "Initialize AnvilWiki" workflow: fork → Actions → run once with your domain — resets wrangler.toml [vars], removes the project landing page, opens a review PR.
  • Cloudflare Web Analytics (PUBLIC_CF_BEACON_TOKEN): cookieless beacon, no consent gate needed, empty = zero JS.
  • docs/staying-up-to-date.md: merging upstream after forking + SemVer compatibility promises.
  • apply-template content scaffolding: one schema-valid starter article per category after clearing demo content.
  • README growth pack: AnvilWiki vs Fandom vs DIY comparison table, suggested repo topics, Showcase PR invitation.

Fixed

  • Article tag links on English-fallback pages now point at the served locale's tag pages (was 404).
  • Tag pages: hreflang alternates and language switcher only offer locales where the tag exists.
  • Demo content dead links (/guides/fastest-leveling, /updates, /guides/video-walkthroughs) — caught by check-links on its first run.

Full Changelog: v1.5.0...v1.6.0

v1.5.0 — Tag Pages, Game Versions, Recent Updates & MDX Components

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 06:09

AnvilWiki v1.5 — 内链 + 时效性 + 表达力:标签系统、版本号、最近更新页、MDX 组件与草稿流。

Added

  • Tag landing pages: /tags cloud + /tags/<tag> aggregation pages per locale (no English fallback — list accuracy rule). Article tags are now clickable; tag pages carry ItemList + Breadcrumb JSON-LD and land in the sitemap with hreflang.
  • gameVersion frontmatter: "applies to v2.5" badge on the article header — freshness / E-E-A-T signal for fast-patching games.
  • /recent page (all locales): full recently-updated listing for "patch notes"-style queries.
  • <Callout> MDX component: info/tip/warn/danger boxes, zero JS — the most-used display element on game wikis.
  • <Accordion> MDX component: native <details> collapsible panels for multi-phase strategies / spoilers, zero JS.
  • Draft workflow: draft: true is visible in pnpm dev and fully excluded from production build (pages, lists, recent, related, hreflang, sitemap). pnpm new-post asks.
  • VideoObject JSON-LD: one per embedded YouTube video — Google Video search eligibility.
  • 404 recovery page: Pagefind search trigger + category entry points.
  • Sponsor card (env-gated): PUBLIC_SPONSOR_URL — empty = renders nothing (same contract as AdSense/Giscus). Plus .github/FUNDING.yml.
  • README fork warning: wrangler.toml sole-source-of-truth warning next to the deploy button.

Full Changelog: v1.4.0...v1.5.0

v1.4.0 — Chinese Landing, WeChat Group & Cross Links

Choose a tag to compare

@PNGTRID PNGTRID released this 15 Aug 04:02

AnvilWiki v1.4 — 官网国际化版:中文官网 + 微信交流群 + demo 双向入口。

Added

  • Chinese landing page (/zh/landing): full bilingual landing with EN ↔ 中文 toggle and hreflang alternates. Independent of the demo game's en/ja content locales — the landing speaks for the project itself.
  • Locale auto-detection: Chinese browser language visiting /landing auto-redirects to the Chinese page (client-side, pre-render). Manual choices are remembered and always win.
  • WeChat community group: QR-code card on both landing pages and the README — scan to add the maintainer and join the discussion.
  • Demo → landing entry: hammer icon in the demo header + mobile-menu link, auto-removed by apply-template together with the landing pages.
  • Maintainer attribution: 由 PNG 部落团队主理人 袁锐钦 开源 / open-sourced by Yuan Ruiqin (PNGTRIBE).

Changed

  • Landing announcement bar driven by a PROJECT_VERSION constant — no more stale version strings.

Full Changelog: v1.3.0...v1.4.0

v1.3.0 — Audit Backlog Cleared: Codes Paradigm, Reading UX & Fork Tooling

Choose a tag to compare

@PNGTRID PNGTRID released this 14 Aug 18:22

AnvilWiki v1.3 — 审计清零版:未完成清单全部落地(codes 范式 + 阅读体验全家桶 + fork 工具链)。

The final batch of the 2026-08 expert-audit backlog.

Added

  • Codes content paradigm: CodeBlock one-tap copy component + full demo codes article (en/ja) — the highest-traffic wiki entry now has a reference implementation.
  • Stale-content notice: boss/tier-list articles older than 90 days show a "possibly outdated" banner automatically.
  • Reading-experience suite: prev/next navigation, reading time (CJK-adapted), progress bar, Quick Answer copy, "was this helpful?" feedback, lazy related videos (videos frontmatter), print stylesheet, StatBar drop-rate visualization.
  • AMOLED black theme: light → dark → pure-black cycle, persisted, no-FOUC.
  • pnpm new-locale: scaffolds a new language across all 4 sync points.
  • Homepage presets in apply-template (codes / guides / keep) — no more hand-editing a 270-line demo JSON.
  • docs/home.schema.json: JSON Schema for the home namespace, wired into locale JSONs for VS Code validation.
  • Landing page: real demo screenshots replace placeholders; announcement bar; Deploy-to-Cloudflare button in README.
  • Mobile search entry in the menu; i18n smoke tests (6 cases) guarding the hardcoded-locale bug class.

Changed

  • README repositioned: "100% ad revenue yours" leads everywhere.
  • apply-template: line-based theme rewrite (tolerates user-edited globals.css) + resets wrangler.toml [vars] for forks.
  • new-post scaffold teaches AI-Overview-friendly writing (question H2s, direct answers).
  • organizationJsonLd emits configurable sameAs; docs gained an "AI search era" chapter.

Full Changelog: v1.2.0...v1.3.0

v1.2.0 — Landing Page, Reading UX & AI Search

Choose a tag to compare

@PNGTRID PNGTRID released this 14 Aug 17:33

AnvilWiki v1.2 — 专家团审计落地版:项目官网 + 阅读体验 + AI 搜索卡位 + 隐私合规。

This release lands the findings of a 4-expert audit (SEO/growth · developer experience · reader UX · competitive analysis).

Added

  • Project landing page (/landing): 7-section marketing page for the template itself — Hero with the "100% ad revenue" positioning, Lighthouse proof bar, feature grid, comparison table (vs Fandom / Starlight / Next.js DIY), showcase, docs entry, final CTA. The apply-template CLI removes it automatically for fork users (--keep-landing to keep).
  • RSS feed (/rss.xml): default-locale articles, newest first, excludes noindex.
  • llms.txt (/llms.txt): Markdown site index for AI crawlers, generated from the content collection.
  • TOC scrollspy — the in-view section is highlighted while scrolling.
  • Share button on articles (native share sheet + clipboard fallback, en/ja).
  • Back-to-top button on article pages.
  • Boss stat card: optional structured boss frontmatter (hp / weakness / resistant / location / level) rendered as a uniform, mobile-friendly data card.
  • pnpm check-config: validates nav-key / locale / displayType consistency that the build doesn't enforce.
  • Cookie consent that actually gates tracking: GA / AdSense load only after the visitor accepts; declining means they never load. No tracking env vars → zero JS, Lighthouse 4×100 unchanged.

Changed

  • Ads system rebuilt as Google AdSense-only (3 positions, env-gated, empty = not rendered).
  • Sticky banner is desktop-only by default (mobile first screen reclaimed).
  • sitemap <lastmod> injected from frontmatter.
  • /_astro/* served immutable (1-year browser cache).
  • Mobile menu includes the language switcher.

Fixed

  • Third-locale forks fully 404 — five getStaticPaths hardcoded ['ja']; now derived from routing.ts locales.
  • SearchAction pointed at a nonexistent /search — removed.
  • noindex frontmatter now actually emits <meta robots>.
  • Cover-image docs unified to Astro Image relative paths.
  • Node version docs 20 → 22 (pnpm 11 needs ≥22.13).
  • RSS trailing-slash 404s (absolute URLs now).
  • GFM tables overflowed on mobile — prose tables scroll horizontally.

Full Changelog: v1.1.0...v1.2.0

v1.1.0 — SEO & E-E-A-T Enhancement

Choose a tag to compare

@PNGTRID PNGTRID released this 13 Aug 16:26

AnvilWiki v1.1 — SEO & E-E-A-T 增强版。

This release adds AI-Overview-oriented SEO features (TOC, Quick Answer, author byline, VideoGame JSON-LD) and broadens ad support (Google AdSense alongside the iframe ad isolation). Includes a round of naming normalization to keep config/locales schema generic (no demo-game-specific terms).

Added

  • Article TOC: Auto-generated table of contents from H2/H3 headings. Sticky on desktop, collapsible <details> on mobile (TableOfContents.astro).
  • Quick Answer summary block: Optional summary frontmatter field rendered as a callout above the article body — optimized for AI Overviews and featured snippets.
  • Article author byline: Optional author frontmatter field (falls back to site.defaultAuthor). E-E-A-T signal.
  • VideoGame JSON-LD: Injected on the homepage for game entity recognition (videoGameJsonLd() in seo.ts).
  • Contact page: New legal page at /contact with community links. E-E-A-T trust signal.
  • Google AdSense support: AdSenseSlot.astro component + PUBLIC_ADSENSE_CLIENT env var. Coexists with the iframe ad isolation setup.

Changed

  • Homepage displayType enum renamed to generic names (code-cardsbadge-list, etc.).
  • CSS theme variable renamed: --nav-theme--brand.
  • Homepage JSON field names renamed (eyebrowbadge, primaryCtactaPrimary, etc.).
  • Demo boss renamed: gelumemberfang, pyrastormcaller.
  • skinning.mdapply-template.md (restructured as file-organized config reference).
  • Ad HTML templates: ad network domain changed to placeholder.
  • SEO docs: all knowledge claims cite public authoritative sources.

Full Changelog: v1.0.0...v1.1.0

AnvilWiki v1.0.0 — 正式发布 / First stable release

Choose a tag to compare

@PNGTRID PNGTRID released this 12 Aug 16:29

AnvilWiki v1.0.0 — 正式发布 / First stable release

Status License Lighthouse

🎯 AnvilWiki v1.0 正式发布 —— 从「能用」到「生产就绪」。
AnvilWiki v1.0 — from "works" to "production-ready".

本次发布涵盖自 v0.2.0 以来的全部改动:PRD 路线图(v1.1–v2.0)全部 ✅ 完成,demo 站 anvilwiki.pages.dev Lighthouse 4×100,所有可选功能(搜索、广告、评论、图片优化、换皮 CLI)均已生产就绪。

This release covers everything since v0.2.0: the full PRD roadmap (v1.1–v2.0) is now ✅, the demo site ships Lighthouse 4×100, and all optional features (search, ads, comments, image optimization, skinning CLI) are production-ready.

在线 demo / Live demo: https://anvilwiki.pages.dev


✨ 核心功能 / Key features

💬 评论系统(v1.4)/ Comments (v1.4)

  • 基于 Giscus,评论存 GitHub Discussions,零服务器零数据库
  • 默认关闭(env 空值 = 零 JS,保 Lighthouse 4×100);填好 5 个 env 变量即启用
  • 官方 <script async data-loading="lazy"> + 双 MutationObserver 暗色同步
  • 多语言:不同 locale 自动形成独立评论区;界面语言跟随页面 locale
  • 文档:docs/comments.md

🔍 Pagefind 离线搜索(v1.2)/ Offline search (v1.2)

  • 构建时索引,零运行时 JS(直到打开搜索框)
  • <dialog> 模态,Ctrl/Cmd+K 唤起,精确索引文章正文

🖼️ Astro Image 图片优化(v1.5)/ Image optimization (v1.5)

  • 自动 WebP/srcset,封面图 image() loader + 响应式尺寸防 CLS

🎨 JSON 驱动首页模块(v1.3)/ JSON-driven homepage modules (v1.3)

  • 6 种 displayType:code-cards / step-by-step / tier-grid / card-list / timeline / video-grid
  • 换游戏只改 JSON,不改组件

🔧 换皮 CLI(v2.0)/ Skinning CLI (v2.0)

  • pnpm skin <game-name> 引导式换皮:hex→HSL 主题色、site/navigation/routing/ui/locales/manifest 自动重写
  • --dry-run / --no-clear-content flag

💰 广告就绪 / Ads ready

  • 内置 Adsterra iframe 隔离方案(6 种广告位),填 key 即生效

🌍 多语言 / Full i18n

  • 英文无前缀(SEO 最优),其他语言带前缀,缺失内容自动 fallback 英文

🔧 seoscout 格式转换(v1.1)/ seoscout converter (v1.1)

  • pnpm convert-seoscout 自动转换 MDX 格式

🐛 重要修复 / Notable fixes

Cloudflare Pages env 注入(wrangler.toml 接管)/ Cloudflare Pages env injection

症状 / Symptom: 在 Cloudflare dashboard 配了 env 变量,但构建时 process.env 一个都读不到,评论组件静默不渲染。
根因 / Root cause: 当项目根目录有 wrangler.toml 时,它成为 Pages 项目 env 的唯一真相源,dashboard 的 Environment variables UI 被完全忽略(Cloudflare 官方文档)。
修复 / Fix: 在 wrangler.toml[vars] 段声明所有构建时 env 变量。
防御 / Prevention: wrangler.toml 顶部加醒目 fork 警告;docs/deployment.md + AGENTS.md Hard Rule 12 详细说明。

SITE_URL 协议要求 / SITE_URL protocol requirement

症状 / Symptom: SITE_URL 配成裸域名(如 anvilwiki.pages.dev)会让 Astro build 报 Invalid url
修复 / Fix: 强制要求 SITE_URLhttps:// 协议。.env.example / wrangler.toml / docs/deployment.md / AGENTS.md Hard Rule 9 全部同步更新。


📊 项目状态 / Project status

维度 / Dimension 状态 / Status
PRD 路线图(v1.1–v2.0) ✅ 全部完成 / All complete
Lighthouse Performance / Accessibility / Best Practices / SEO 全 100
测试 / Tests 18/18 passing(typecheck + vitest)
Sitemap 28/28 URLs 返回 200
Demo 站 / Demo site anvilwiki.pages.dev 启用评论 + 搜索 + 广告位

📦 升级 / Upgrading

这是首次正式发布,无升级路径。直接 fork 即可。

This is the first stable release — fork to start.

快速开始 / Quick start: 见 README 的「5 分钟快速开始」/ See README "5-minute quickstart".


🙏 反馈 / Feedback


完整变更日志 / Full changangelog: CHANGELOG.md