6.5 KiB
6.5 KiB
assets/vendor 全量迁移 + 全仓去 zibll 化
目标布局(类型归位,git mv 保留历史)
| 源 | 目标 | 说明 |
|---|---|---|
assets/vendor/fontawesome5/ |
assets/fontawesome5/ |
css/ + webfonts/ 原结构,../webfonts 相对引用不变 |
assets/vendor/zibll/css/(22 文件) |
assets/css/ 顶层 |
bootstrap/animate/swiper/main 等,无命名冲突;main(.min).css 的 url(../img/playing.svg) 迁后恰好仍指向 assets/img,无需改 |
assets/vendor/zibll/js/** |
assets/js/runtime/** |
必须子目录:assets/js 已有 14 个同名自有文件(author/sign-register/page-navs…)和一个 enlighter/ 目录 |
assets/vendor/zibll/img/captcha/ |
assets/img/captcha/ |
slidercaptcha.js 运行时按 _win.uri + '/img/captcha/' 拼接,新 uri=assets 根后自然命中 |
assets/vendor/zibll/img/{medal,smilies} |
与 assets/img/ 哈希比对 |
相同跳过、缺失补齐;内容不同时以当前实际渲染源为准(medal/smilies 保现有,user_t.jpg/slider-bg.jpg 以 vendor 版覆盖,因 PHP 默认值当前渲染的是 vendor 版) |
assets/vendor/zibll/img/playing.svg 等散图 |
assets/img/ |
|
assets/vendor/zibll/fonts/(孤儿 2 文件) |
assets/fonts/ |
按"全部迁移"保留 |
js/libs/{DPlayer,dash.all,flv,hls,vanilla-tilt}.min.js |
不迁移(智能去重) | 先哈希验证与 assets/widgets/third-party/ 字节一致(探索已确认大小一致);loader.js paths 改指 '../widgets/third-party/DPlayer.min' 等(相对 baseUrl);若任一哈希不符则该文件照常迁入 runtime/libs/ |
完成后删除 assets/vendor/。
运行时切换(核心链路 _win.uri)
PHP 将 'uri' 从 …/assets/vendor/zibll 改为 …/assets,loader(改造版 RequireJS)以 baseUrl = _win.uri + '/js' 解析懒加载模块:
assets/js/runtime/loader.js:baseUrl改为_win.uri + '/js/runtime'(paths 表'libs/swiper.min'、'enlighter/enlighterjs.min'等相对值全部随之命中,无需逐条改,除 5 个去重库改../widgets/third-party/)main.js+main.min.js:enlighter CSS 注入_win.uri + '/js/enlighter/…'→'/js/runtime/enlighter/…'(swiper CSS 注入/css/swiper.min.css迁后自然命中,不改)- 已核实的死引用(
/css/dplayer.min.css404、/action/action.php、/yiyan/…、paths 中shop—main)保持原状不修不扩
PHP 引用切换(7 个文件)
src/Core/ScriptsPart1b.php:16-17,23,38-41、src/Core/ScriptsPart1c.php:35-42,53:新变量$runtime_uri = $base_uri . '/assets'、$fa5_uri = $base_uri . '/assets/fontawesome5';jquery/bootstrap/loader/main 路径改assets/js/runtime/…inc/core-hooks/part-3.php:52、src/Admin/Admin.php:116:FA5 新路径src/Admin/PageConfigMetaBox.php:275,277、src/Settings/DisplayPageGroups.php:96,98、src/Admin/Schema/SchemaPageDisplay.php:77,123,138,163,190:assets/vendor/zibll/img/→assets/img/
全仓去 zibll 清扫(用户已确认含功能性标识符)
先跑全仓盘点(排除 .git、composer vendor、node_modules、tests/visual、assets/admin/build):zibll/Zibll、zib__、zib_ajax、zibllblock、wp-block-zibllblock、.zib-、_zb、Qinver、zibll.com、子比,产出替换映射并核对目标名无既有冲突(如 aksrt_ajax)。统一替换规则:
- 品牌头注释:
@Author: Qinver / @Url: zibll.com / @Project: Zibll子比主题→@package AKSRT;swiper 内//zibll : 修改内容等注释中性化;main.js:4866的console.log(' Zibll Theme …')及 min 等价物删除 - 功能性标识符重命名(生产端+消费端原子同步,含 min 文件 sed,改后 diff 抽查只允许替换点变化):
zibllblock/*→aksrtblock/*;zibll_block_cat/var→aksrt_block_cat/var;.wp-block-zibllblock-*→.wp-block-aksrtblock-*(⚠️ 数据库已发布内容中的旧块名将无法渲染,用户已接受且明确不写兼容层)'zibll' + typelocalStorage 键 →'aksrt' + type(游客点赞记录重置,已接受)zib__()i18n 函数 →aksrt__()(先定位定义处,全量替换所有调用,含各 .min.js)zib_ajax等运行时函数按盘点结果同步改名
- AKSRT 自有资产:
assets/css/frontend/zibll-utilities.css → legacy-utilities.css、zibll-compat-vars.css → compat-vars.css、footer/zibll-shell.css → footer/shell.css(含 enqueue_module 调用、handle 派生、测试引用);.zib-widget(19处)/.zib-slider→.aksrt-widget/.aksrt-slider(CSS + PHP 输出标记 + vendor js 选择器同步) - PHP 变量/注释:
$zibll_uri等改名;所触及文件注释中 Zibll 措辞改写为"legacy runtime" - admin SPA:Vue 源内用户可见 zibll 文案改写后
cd assets/admin && npm run build - 例外保留:
tests/visual/(docker-compose.zibll.yml、zibll-Caddyfile、baseline)指向外部真实 Zibll 对照主题,属产品名引用,不改
测试同步
tests/navigation/zibll-navigation-contract.test.cjs(本地未跟踪):所有 vendor 路径 → 新路径;walk 根改assets/js/runtime(js)与assets/css顶层(css);新增断言assets/vendor目录不存在;文件更名legacy-navigation-contract.test.cjstests/widget-system/{post-visual,toast,page-display,lazyload}-contract.test.cjs:loader/main 读取路径更新;toast 的$zibll_loader_version/$zibll_runtime_version正则同步新变量名;lazyloadsourceFilesskip 列表把'vendor'换成/加上'runtime'保持语义- 其他 widget-system 测试中引用 zibll 路径/字样的断言同步更新
验证与收尾
php -l逐个检查所有改动 PHPnode --test tests/widget-system/post-visual-contract.test.cjs等全部受影响 contract 测试 + 更名后的 navigation 测试- grep 审计:全仓(按上述排除项)
zibll|Qinver|子比|zib__零残留;assets/vendor零引用 - 手工 QA 清单:首页/文章页/评论区、FA 图标、滑块验证码图、勋章、enlighter 高亮、DPlayer 视频播放
- 不主动提交;建议单原子 commit:
refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识(移动+切换+清扫+测试必须同 commit 才能保持可用)
风险提示(用户已确认接受)
- 数据库中已存
zibllblock/*块的旧文章渲染损坏(无兼容层) - 游客 localStorage 点赞/收藏记录重置
- min 文件 sed 属精细操作,逐文件 diff 验证