Appearance
官方原图镜像审计(2026-04-21)
来源:
node scripts/official-image-hotlink-audit.mjs --json结论先说:当前站内真正缺的不是“图片来源”,而是
WE ARE VANA'DIEL官方原图的本地镜像文件。
这批图已经全部精确定位到原始 URL,可以按镜像路径直接采集,不需要自己造图,也不需要再猜来源。
当前基线
- 扫描 markdown:
199篇 - 含官方热链的页面:
30篇 - 官方热链引用:
40处 - 唯一官方原图:
30张 - 已本地镜像:
0张 - 仍待镜像:
30张
按来源拆分:
history/:15张uploads/playguide/:3张gallery/:12张
放置判断
1. 放置合理,而且应该优先镜像
这批图和正文主题一一对应,属于“与原文一致”的优先采集对象:
- 系统总览 / 路线页:
/content/abyssea、/content/classic-orb-battlefields、/content/classic-rare-drop-cases、/content/dynamis-roadmap、/content/einherjar、/content/einherjar-ready-check、/content/limbus、/content/limbus-temenos-apollyon、/content/sea-limbus-roadmap、/content/sea-nm-system、/content/sky-roadmap、/content/voidwalker-nm - 系统页:
/systems/gobbie-mystery-box、/systems/trusts - 职业 / 桥接页:
/jobs/job-macro-templates、/jobs/job-party-templates、/jobs/job-trust-setups、/jobs/job-ws-skillchain-cheatsheet、/jobs/super-ws - 回归指南图位:
/content/classic-hnm-overview、/content/classic-hnm-ready-check、/systems/login-points
判断理由:
- 这些页面放的不是泛用装饰图,而是官方历史条目或回归指南原图。
- 图片承担的是“系统语境入口”,不是给正文硬凑数量。
- 大部分页面已经把 NPC 小图下沉到说明段,主视觉层级基本正确。
2. 放置基本合理,但镜像优先级次一级
这批是 gallery/ 概念设定图,属于“官方原图无误,但更偏气质图 / 设定图”的页面:
/jobs/magic/jobs/magic-complete/jobs/spell-targeting/jobs/artifact-armor-plus1/jobs/popular-job-staples/jobs/job-subjob-recommendations/jobs/blue-magic-complete/systems/weapon-types
判断理由:
- 图源没问题,和页面主题也不是错位。
- 但它们多数承担的是“职业气质入口”而不是“系统证据图”。
- 采集顺序应排在
history/和playguide/之后。
3. 当前最该盯的放置风险
/jobs/magic-complete、/jobs/spell-targeting、/jobs/artifact-armor-plus1、/jobs/popular-job-staples的页首用了3张概念图并排展示。 这些图本身没错,但页首信息密度已经偏高,不建议继续往首屏追加更多设定图。/jobs/magic的两张法系设定图是合理的;如果后面继续扩图,优先替换而不是叠加。/systems/login-points的Home Point / Survival Guide双图属于说明图,不是装饰头图,当前放置是合理的。
4. 不建议为了补图再硬塞头图的页面
这几页依然应该保持“无图或轻图”策略,不要为了追求全站都有头图而乱补:
/jobs/defensive-skill-matrix/jobs/job-skill-aptitude/jobs/job-traits/jobs/magic-skill-matrix/jobs/skill-rank-matrix/jobs/subjob-toolbox-matrix
原因很直接:这些页主体是矩阵和查表,应该补关系示意图,而不是再塞外站大图。
精确待采清单
History 官方图
| 本地镜像路径 | 当前使用页 | 原始官方图 |
|---|---|---|
/img/official-sourced/mirror/history/2002/2002-14.jpg | /jobs/job-party-templates | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2002/2002-14.jpg |
/img/official-sourced/mirror/history/2003/2003-31.jpg | /content/sky-roadmap | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2003/2003-31.jpg |
/img/official-sourced/mirror/history/2004/2004-01.jpg | /content/dynamis-roadmap | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2004/2004-01.jpg |
/img/official-sourced/mirror/history/2004/2004-26.jpg | /content/classic-orb-battlefields | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2004/2004-26.jpg |
/img/official-sourced/mirror/history/2005/2005-07.jpg | /content/classic-rare-drop-cases | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2005/2005-07.jpg |
/img/official-sourced/mirror/history/2005/2005-11.jpg | /content/limbus、/content/limbus-temenos-apollyon、/content/sea-limbus-roadmap | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2005/2005-11.jpg |
/img/official-sourced/mirror/history/2007/2007-03.jpg | /content/einherjar、/content/einherjar-ready-check | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2007/2007-03.jpg |
/img/official-sourced/mirror/history/2008/2008-01.jpg | /content/sea-nm-system | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2008/2008-01.jpg |
/img/official-sourced/mirror/history/2010/2010-03.jpg | /content/abyssea | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2010/2010-03.jpg |
/img/official-sourced/mirror/history/2010/2010-10.jpg | /content/voidwalker-nm | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2010/2010-10.jpg |
/img/official-sourced/mirror/history/2011/2011-06.jpg | /systems/gobbie-mystery-box | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2011/2011-06.jpg |
/img/official-sourced/mirror/history/2013/2013-11.jpg | /jobs/super-ws | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2013/2013-11.jpg |
/img/official-sourced/mirror/history/2017/2017-09.jpg | /jobs/job-ws-skillchain-cheatsheet | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2017/2017-09.jpg |
/img/official-sourced/mirror/history/2017/2017-10.jpg | /jobs/job-trust-setups、/systems/trusts | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2017/2017-10.jpg |
/img/official-sourced/mirror/history/2022/2022-02.jpg | /jobs/job-macro-templates | https://we-are-vanadiel.finalfantasyxi.com/assets/images/history/2022/2022-02.jpg |
Play Guide 官方图
| 本地镜像路径 | 当前使用页 | 原始官方图 |
|---|---|---|
/img/official-sourced/mirror/uploads/playguide/part1/19a.jpg | /systems/login-points | https://we-are-vanadiel.finalfantasyxi.com/uploads/playguide/part1/19a.jpg |
/img/official-sourced/mirror/uploads/playguide/part1/19b.jpg | /systems/login-points | https://we-are-vanadiel.finalfantasyxi.com/uploads/playguide/part1/19b.jpg |
/img/official-sourced/mirror/uploads/playguide/part2/02d.jpg | /content/classic-hnm-overview、/content/classic-hnm-ready-check | https://we-are-vanadiel.finalfantasyxi.com/uploads/playguide/part2/02d.jpg |
Gallery 官方图
| 本地镜像路径 | 当前使用页 | 原始官方图 |
|---|---|---|
/img/official-sourced/mirror/gallery/season/2/vol/1/0.jpg | /systems/weapon-types | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/2/vol/1/0.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/4.jpg | /jobs/magic-complete | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/4.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/9.jpg | /jobs/spell-targeting | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/9.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/10.jpg | /jobs/artifact-armor-plus1 | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/10.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/13.jpg | /jobs/magic、/jobs/magic-complete、/jobs/spell-targeting | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/13.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/15.jpg | /jobs/artifact-armor-plus1、/jobs/magic、/jobs/magic-complete、/jobs/spell-targeting | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/15.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/3/19.jpg | /jobs/artifact-armor-plus1 | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/3/19.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/4/11.jpg | /jobs/popular-job-staples | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/4/11.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/4/13.jpg | /jobs/popular-job-staples | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/4/13.jpg |
/img/official-sourced/mirror/gallery/season/3/vol/4/15.jpg | /jobs/popular-job-staples | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/3/vol/4/15.jpg |
/img/official-sourced/mirror/gallery/season/5/vol/1/14.jpg | /jobs/job-subjob-recommendations | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/5/vol/1/14.jpg |
/img/official-sourced/mirror/gallery/season/8/vol/1/1.jpg | /jobs/blue-magic-complete | https://we-are-vanadiel.finalfantasyxi.com/assets/images/gallery/season/8/vol/1/1.jpg |
建议执行顺序
- 先镜像
history/和playguide/。 - 再镜像
gallery/。 - 下载完成后,执行
node scripts/official-image-hotlink-audit.mjs --apply,把正文热链替换为本地路径。 - 最后跑一次
npm run docs:build验证站点构建。
已补的辅助脚本
这次新增了脚本:
node scripts/fetch-missing-official-images.mjs
可选参数:
--dry-run:只打印待抓取清单--apply-refs:下载成功后顺手把正文热链改成本地镜像路径
当前限制
- 这次自动化运行环境无法解析
we-are-vanadiel.finalfantasyxi.com,所以没有直接把二进制图片落进仓库。 - 和前一轮笔记相比,
/content/assault已不在当前工作树里,所以2006-03.jpg不再计入本轮待镜像清单。 - 审计和下载脚本已经就位;一旦网络链路恢复,不需要重新分析来源,直接运行脚本即可。