云计算百科
云计算领域专业知识百科平台

仲夏CMS | 搬得进,摆得正,取得回~五系统导入导出功能介绍

ZXSORA · CMS-FIDELITY-20260925

搬得进,摆得正,取得回
五系统导入导出功能介绍

先摆问题,再论矛盾,动手解,最后让实践说话——每一步都配当场拍的截图。

5 源系统 · 28 篇零丢失 · 113 项检查 0 失败 · 25 附件原名 · 5 条回环全通

图片

一、问题摆在这儿:想搬,又怕搬坏

把别的系统里的文章搬进 ZXSORA CMS,人人都心里打鼓。把这股鼓声摆上桌面,其实是三笔账:

  • 怕丢

    正文一个字、附件一个文件,少一样就是搬家搬丢了;

  • 怕乱

    图、音频、视频在文章里的先后位置,搬完漂了,文章就散了架;

  • 怕改名

    附件一旦被改名,老引用全断,回头对账都对不上。

三笔账指向同一个矛盾:「要用别家系统的内容」与「数据一个字节都不能走样」之间的矛盾。矛盾的主要方面在位置与文件名——丢字丢文件是显性的,位置漂移、文件改名是隐性的,隐性的才是要害。抓住这一条,办法就有了:不看说法,看做法,让每一步都经得起逐字逐节的比对。

二、怎么解:一份契约,四步流水

第一,同题同料。先立一份内容契约(manifest.json):五类样张——纯文字、图文、纯图、音频、视频——标题、正文、媒体全部定死,五个系统各写各的,但写的必须是同一篇。媒体五个、字节固定:

第二,原生导出。不在数据库里抠数据,每个系统走自己的导出路:WordPress 出 WXR,Hugo/Hexo 出文件包,Halo 出内置备份 zip,Strapi 出 CLI tar.gz。

第三,四通道导入。ZXSORA CMS 后台一次挂齐:WordPress、Halo、Strapi、MD 包四个导入按钮,外加 全部(MD)/WXR/Hugo/Hexo 四种导出。

第四,实践检验。导入完不算完,写比对器逐项打勾:文字逐字、顺序单调、媒体序列相等、落盘字节与原名一致——113 项,一项一项过。

ZX 后台导入导出按钮

ZXSORA CMS 后台文章页:四个导入按钮与四种导出格式一排齐(实拍)

三、第一步实况:在各自系统里写,走各自的导出

五类文章不是拼 XML 拼出来的,是在每个系统的原生界面里、原生结构里一条条写出来的:

WP 后台文章列表

WordPress 后台:5 篇保真样张成排,媒体库同批入库(实拍)

Hugo 列表页

Hugo:page bundle 结构(index.md 与媒体同目录),列表五题齐全(实拍)

Hexo 列表页

Hexo:_posts + source/uploads,列表五题齐全(实拍)

Halo 前台

Halo 中文站:console API 建文发布,前台五篇全渲染(实拍)

Strapi 内容列表

Strapi 内容管理:Article 五篇全部 Published(实拍)

源系统

原生产物

规模

内容核对

WordPress

wordpress.wxr

40,465 B

post×7 + attachment×5

Hugo

hugo-content/

5 bundle

5 md + 5 原名媒体

Hexo

hexo-content/

10 文件

5 md + uploads 5 媒体

Halo

halo-backup.zip

3,166,348 B

58 条目,扩展全量 + 5 原名附件

Strapi

strapi-export.tar.gz

1,606,100 B

33 条目,10 实体行 + 14 资产

四、第二步实况:四通道导入,28 篇一篇不少

通道

实测结果

WordPress WXR

7 篇

 · 5 附件原名 · 0 跳过(只有标题的空草稿也救回)

Hugo / Hexo 包

5+5 篇

 · 音视频与 md 图链按原名还原

Halo 备份 zip

6 篇

 · 扩展逐行还原 · 5 附件原名

Strapi tar.gz

5 篇

(发布版优先)· 附件按其哈希原名入库

导入侧修掉的五个保真缺口——每一处都是被比对抓出来才修的:

①只有标题的空草稿被跳过 → 标题也保全;

②md 没 slug 落成 item-* → 用文件名/bundle 父目录兜底;

③同秒导入共用批次目录互撞 → 批次号加毫秒;

④md 里的音视频/裸文件名链接无改写通道 → 按原名搬进批次并改写;

⑤Strapi 草稿与发布双版本 → 按 slug 归组、发布优先。

五、实践检验:没有调查,没有发言权

导入完就宣布成功,是自欺。写比对器 verify.py:拿五个源的原始文件,对 ZX 库里的落库结果,逐篇打勾:

类别

怎么查

结果

合计

113 项 · 失败 0

文字逐字

每篇4-5 个签名标记在 ZX 正文里逐字命中

25/25
顺序一致

标记下标必须单调递增(图文先后、音视频夹心)

25/25
媒体序列

源正文的媒体文件名序列 == ZX 正文的序列

25/25
落盘核验

文件存在 + 字节与源一致 + 文件名为源原名

25/25

结构杂项

总数 28=7+5+5+6+5、空草稿救回、hello-halo 在列

13/13

ZXSORA CMS 前台实拍复核——HTML 组原样渲染,md 组由 ZX 转换渲染,媒体真实可播:

ZX 图文篇

图文篇(WP 源,HTML 原样):前哨甲→图A→中继乙→图B→收尾丙(实拍)

ZX md 渲染

图文篇(Hexo 源,md 存储):ZXSORA CMS 渲染为 <img>,指向按原结构还原的附件(实拍)

ZX 音频篇

音频播放器夹在引子与尾注之间(实拍)

ZX 视频篇

视频播放器 + 下载链接都在原位(实拍)

六、回环:从 ZXSORA CMS 出发,一站一站送回家

回环 A · WordPress。导出 WXR 送进全新 WP 站(同站回导会触发 WP 按文件名判重跳过改写,这是它的自我保护,所以要给它一个干净靶子):插件自动安装,28/28 篇落地,10 个附件全部抓取入库,30 处正文引用全部指向自家上传目录,源站残留 0,抽验 HEAD 200。

WP 回环图文篇

回环图文页:图从 WP 自家 /wp-content/uploads/ 加载,图A按位渲染(实拍)

WP 回环列表

回环站后台:28 篇全在列(实拍)

回环 B/C · Hugo 与 Hexo。导出包直接铺回 content/ 与 source/:Hugo 重建出 29 条页面、Hexo 出现 28 篇新文,五类标记逐篇通过,媒体 5/5 HEAD 200。

Hugo 回环

Hugo 合并重建后列表(实拍)

Hexo 回环视频

Hexo 视频回环页,媒体 200(实拍)

回环 D/E · Halo 与 Strapi。媒体字节从 ZX 取出 → 用它们各自的上传接口重新入库 → 以它们的内容 API 写回(slug 加 zx-back- 前缀避让源文章):Halo 5 篇全发布、Strapi 5 篇全 Published,标记逐字+顺序+媒体 200 逐篇核过。

Halo 回环

Halo 首页五篇 zx-back-*(实拍)

Strapi 回环

Strapi 列表五对配齐全 Published(实拍)

七、注意事项(红线与边界)

  • 同站回导会被判重

    WP 对库里已有的同名媒体只提示 already exists 不改写正文——要验「完全可用」,请导入到干净目标站(本卷即在全新 :9401 上完成)。

  • 附件地址必须「此刻可达」

    WXR 里的附件地址取自导出时的请求主机;供件方与导入方需在同一台机器可达(本卷经 localhost 头落到共享工作区实例供件)。

  • Strapi 的哈希文件名是它自家约定

    PNG 会在入库时被它压缩——ZX 按它导出的字节与名字原样搬运,不做二次加工。

  • md 存储原样进、原样出

    Hugo/Hexo 组正文按 md 存进 ZX,前台转换渲染;导出给 WP 时先转 HTML 再绝对化。

  • 产物与脚本本机留档

    exports/ 五份原生产物、verify-report.json、verify.py、wp_reimport.ps1、zx_shots.js——谁来都能复跑。

  • 把这轮活儿拆开摆,就是三句话:

    导得进——五种原生格式 28 篇连 25 个附件全量落地,113 项检查失败 0;

    摆得正——每篇里图、音频、视频的先后位置与源站逐位相同,文件名一个没改;

    取得回——WXR 进全新 WordPress 自带引用,Hugo/Hexo 铺回去能重建,Halo/Strapi 用它们自己的接口收下内容。

    凡没做到的,当场修到做到;

    修不动的,原样写进「注意事项」。

    全部数字可复核,全部截图是当场拍的——这就是实践对功能的检

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 仲夏CMS | 搬得进,摆得正,取得回~五系统导入导出功能介绍
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!