首页 / 资讯中心 / 文章详情

如何导入整个 MediaWiki/Fandom 维基到 Chronicler:XML Dump 完整迁移流程

如何导入整个 MediaWiki/Fandom 维基到 Chronicler:XML Dump 完整迁移流程 ★ FEATURED ARTICLE
【免费下载链接】chroniclerChronicler is a free, offline worldbuilding tool and local wiki for writers, game masters, and tabletop RPG creators. It saves your notes as plain Markdown files on your computer. No sign-up, no subscription, no cloud. Your world stays on your device.项目地址https://gitcode.com/gh_mirrors/chroni/chronicler点击查看免费下载Chronicler 是一款免费的离线世界构建工具与本地维基专为作家、游戏主持人GM和桌面 RPG 创作者设计所有笔记都以纯 Markdown 文件保存在你自己的电脑上。本文带你完整走一遍迁移流程用 Chronicler 内置的导入器把整个 MediaWiki 或 Fandom 维基的 XML Dump 一键转换为本地 Markdown 笔记库——页面转 Markdown、分类转标签、Infobox 转结构化字段、图片自动下载到本地。一、为什么要把 MediaWiki 维基迁移到 Chronicler很多创作者的设定集最初建在 Fandom 或自托管 MediaWiki 上但这类在线维基存在几个长期痛点数据不在自己手里内容存在别人的服务器上网站关闭或改版就有丢失风险无法离线使用跑团现场、没有网络的环境下打不开资料库格式封闭wikitext 难以用其他工具复用也不方便做备份。Chronicler 的 MediaWiki 导入功能就是为了解决这个问题把维基的整个 XML Dump 一次性转换为纯 Markdown 文件 本地图片迁移完成后你拥有的就是一个可以永久阅读、随时编辑的本地库而且天然兼容 Obsidian 的 wikilink 语法。二、导入器支持转换哪些内容在动手之前先了解 Chronicler 导入器ImporterModal.svelte能把维基里的哪些元素翻译成本地笔记。核心转换逻辑位于 mediawiki_importer.rs维基中的元素导入后的结果主命名空间页面ns0每页生成一个.md文件存到 Vault 根目录[[Category:xxx]]分类链接写入文件头 YAML frontmatter 的tags标签列表页面顶部的 Infobox 模板解析为 frontmatter 字段如name、region模板类型写入infobox字段Infobox 内声明的分类自动推断并补充到tags基于全库模板映射见 模板→分类扫描[[File:xxx.jpg]]/[[Image:xxx]]保留对齐与宽度布局图片从维基服务器下载到本地images/目录[[双链]]转换后恢复为 Chronicler 的 wikilink 格式支持[[目标|别名]]重定向页、模板页、讨论页自动跳过不生成文件⚠️ 导入器只会处理主命名空间的正文页面。模板ns10仅被用来建立模板 → 分类映射表不会单独生成文件。三、第一步从 Fandom / MediaWiki 导出 XML DumpChronicler 接受的是 MediaWiki 标准格式的 XML 转储文件.xml。获取方式取决于你的维基类型Fandom 维基在维基页面顶部菜单进入Special:Export部分版本在工具菜单下页面所有者可使用下载全部选项导出整站或按页面前缀如Character:分批导出勾选包含全部修订版本可获得最完整的正文将生成的.xml文件保存到本地。自托管 MediaWiki访问你的维基Special:Export页面导出页面特殊页小站一般几千页以内可直接按前缀分批导出大型站点建议使用 MediaWiki 自带的 Dumps 工具dumpBackup.php生成全量 XML 转储下载并解压取得包含全部page节点的.xml文件。关键提醒请保留 XML 中的base标签标准导出都自带它记录了维基的原始域名。Chronicler 正是靠它调用维基 API 自动下载图片域名提取逻辑。如果你的文件里没有站点地址图片将无法下载。四、第二步在 Chronicler 中一键导入 XML 文件打开 Chronicler 并加载或新建一个 Vault按下面的路径找到导入器点击界面中的设置Settings在设置面板的Import导入分区点击Open Importer按钮入口见 SettingsModal.svelte在弹出的Import Documents对话框中找到Import from MediaWiki区块点击Select XML File选择上一步保存的.xml文件等待进度提示Processing MediaWiki XML dump...完成后会弹出导入页面数量的统计提示。对应的前端处理逻辑见 selectMediawikiDump底层通过 Tauri 命令 import_mediawiki_dump 调用后端最终由 World 层 把生成的文件注册进索引并刷新文件树导入完成后侧边栏会立即显示新页面无需手动刷新。五、首次导入需要安装 Pandoc 转换引擎Chronicler 使用 Pandoc 把 wikitext 转换为 Markdown调用pandoc --frommediawiki --togfm --wrapnone见 convert_with_pandoc。首次点击导入按钮时程序会自动检测本地是否已安装 Pandoc若未安装会弹出确认框提示一次性下载约 200MB的 Pandoc确认后自动完成下载安装安装成功后该步骤只做一次后续导入不再弹出。 因此首次导入需要联网下载 Pandoc 下载图片之后的日常使用则完全离线。六、导入过程解析Chronicler 如何转换一个维基页面整个导入采用两遍扫描策略入口函数 import_mediawiki_dumpPass 1 — 建立模板映射先遍历全部 XML收集所有Template:页面里声明的[[Category:...]]形成模板 → 分类映射。这样后续遇到{{Infobox character}}时即使页面本身没写分类也能正确打上角色标签。Pass 2 — 逐页转换每页经过的流水线process_page记录原始页面标题作为 frontmatter 的title提取页面中的分类链接 → 转为tags并从正文移除解析页面顶部的 Infobox 模板 → 字段写入 frontmatter主图名image开头的键被识别为首要图片汇总本页全部图片名Infobox 主图 正文插图通过维基 API 逐张下载到 Vault 的images/目录download_image已存在的图片自动跳过把[[File:...]]语法转成带对齐/宽度/说明文字的 HTML 图块保留原版式调用 Pandoc 转换剩余 wikitext 为 Markdown再用 convert_links_to_wikilinks 把 Pandoc 生成的链接还原为[[wikilink]]以页面标题清洗为合法文件名.md原子写入 Vault 根目录。七、导入完成后你的本地维基长什么样以导入一个 RPG 地点条目为例生成的 Markdown 文件大致如下--- title: Dragons Rest tags: - Location - Town infobox: location name: Dragons Rest region: Western Reach governing_body: Merchant Guild image: Dragons_Rest_map.png --- ## Overview Dragons Rest 是西部边疆最大的商队城镇…… 相关[[Iron Gate]] | [[The Palewood]]导入后的 Vault 结构Vault 根目录每个维基页面一个.md文件文件名即页面标题images/目录从维基下载的全部图片空格自动替换为下划线标签索引所有tags可在侧边栏 Tag 列表中按分类浏览原维基的Category体系被完整保留。之后你还可以在 Chronicler 里自由换装——为这些页面套上内置的氛围主题比如复古石卷质感的幻想风格或者切换成科幻全息驾驶舱风格同一批导入内容也能呈现完全不同的世界观氛围八、常见问题与注意事项图片没有下载下来导入时需要联网且 XML 中需含站点地址base标签。单张图片下载失败只会跳过并记录警告不会中断整个导入可对照报告检查。部分页面没出现只有主命名空间ns0页面会被导入重定向页、模板页、讨论页等按设计被跳过见 页面过滤条件。No pages were found 提示说明该 XML 中没有符合条件的主命名空间页面请确认导出时选对了页面范围。转换出错怎么办单个页面 Pandoc 转换失败会回退为原始文本不会丢失内容整体失败时导入器会显示具体错误错误提示文案。重复导入安全吗同标题页面会覆盖旧文件已下载的同名图片自动跳过可以放心重新执行。 更多使用技巧可参考项目内置的 HELP.md 帮助文档产品能力总览见 README.md。九、相关源码与模块路径模块说明src-tauri/src/mediawiki_importer.rs核心转换引擎两遍扫描、Infobox 解析、图片下载、wikilink 还原src-tauri/src/commands.rs#L487-L496Tauri 命令入口import_mediawiki_dumpsrc-tauri/src/world.rs#L761-L773导入落盘与索引刷新src/lib/components/modals/ImporterModal.svelte导入器弹窗 UI 与 Pandoc 引导安装src/lib/components/modals/SettingsModal.svelte#L567-L571设置页中的导入入口按钮src/lib/i18n/locales/en.json导入器界面文案多语言至此你的 MediaWiki/Fandom 维基已从云端彻底迁入自己的设备——页面、图片、标签、双链全部就位剩下的就是把世界继续写下去。赞分享【免费下载链接】chroniclerChronicler is a free, offline worldbuilding tool and local wiki for writers, game masters, and tabletop RPG creators. It saves your notes as plain Markdown files on your computer. No sign-up, no subscription, no cloud. Your world stays on your device.项目地址https://gitcode.com/gh_mirrors/chroni/chronicler点击查看免费下载相关推荐如何从mRemoteNG迁移到1Remote完整数据导入指南如何从mRemoteNG迁移到1Remote完整数据导入指南 想要从mRemoteNG切换到功能更强大的1Remote远程桌面管理工具本文将为您详细介绍从m桌面应用网络FastAPI任务队列高效实现结果后端的完整指南FastAPI任务队列高效实现结果后端的完整指南 FastAPI作为一款高性能、易学习的现代Python web框架不仅提供了快速构建API的能力还通过内后端Web框架API设计异步编程如何从Google Authenticator迁移到AuthenticatorPro完整迁移教程如何从Google Authenticator迁移到AuthenticatorPro完整迁移教程 想要从Google Authenticator迁移到更强大的移动开发身份认证上一篇EMQX API Key 新增 namespace 字段多租户 API Key 创建的三种方式与一致性校验下一篇opencodex 源码克隆开发体验代理与 GUIVite双进程开发工作流解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站