feat: 完成 Docker DOCX 与可选字体包部署链
This commit is contained in:
+30
-2
@@ -362,6 +362,32 @@ Desktop 已统一 Markdown 保存/另存为、PDF 导出和 DOCX 导出的默认
|
||||
阻断保存对话框。状态持久化失败不会把已经成功写入的用户文件误报为保存
|
||||
失败。该优化作为独立提交完成,不与 FP3-C Docker 部署改动混合。
|
||||
|
||||
`v0.5.1` Web 与 Desktop 旧渲染引擎曾在整篇代码围栏全部标记为 JSON 时
|
||||
出现缩进视觉丢失;任一围栏改为其他语言后其余 JSON 又会恢复。使用原始
|
||||
问题文档在当前 `v0.6.0` Chromium 快速预览中验证,首次完整渲染的 14 个
|
||||
JSON 代码块均保留 2/4/6 级缩进,将首个围栏改为 `text` 后的增量渲染也
|
||||
保持正常。该问题标记为随 `v0.6.0` 渲染引擎重构消失,不再追加生产修复。
|
||||
|
||||
阶段 12D-FP3-C 已完成 Docker v0.6.0 DOCX 运行链和可选字体包挂载。镜像
|
||||
构建补齐统一语义文档、DOCX 主题映射、字体包注册器和 DOCX 引擎工作区,
|
||||
并将 Lua Filter 作为明确运行资产复制;独立下载阶段对 Pandoc `3.9.0.2`
|
||||
Linux amd64 二进制、GPL 许可证和版权文件分别执行固定 SHA-256 校验,
|
||||
最终运行镜像只保留 `/opt/pandoc/3.9.0.2/`,不包含下载工具或可选字体包。
|
||||
基于已验证 Chromium 运行层生成的验收镜像内容大小为 681,961,183 字节,
|
||||
以非 root `pwuser` 运行,DOCX capability 精确识别 Pandoc `3.9.0.2`。
|
||||
|
||||
Compose 通过 `MD_TO_PDF_FONT_PACK_DIR` 将宿主机字体包根目录只读挂载到
|
||||
`/app/.local/font-packs`,并以 `MD_TO_PDF_APP_VERSION=0.6.0` 执行兼容性
|
||||
判断。静态部署契约覆盖 DOCX workspace、Pandoc 版本与三组哈希、Lua
|
||||
Filter、只读挂载以及 Docker 构建上下文排除。统一真实门禁为
|
||||
`npm run verify:docker-font-pack`:空目录场景正常降级;有效
|
||||
`mdtp-serif-sc@1.0.0` 提供不可变缓存 WOFF2,并进入真实 DOCX 字体表和
|
||||
字体部件;篡改 WOFF2 后注册器拒绝整个字体包,主题 CSS 不再注入字体包,
|
||||
但 DOCX 仍通过主题字体安全降级并成功生成。三组隔离 Compose 容器、网络
|
||||
和临时目录均在验收后清理。全仓 94 个测试文件、480 项测试、类型检查、
|
||||
生产构建和 `git diff --check` 均通过。下一步 R4 进入 14 套主题深度视觉
|
||||
回归。
|
||||
|
||||
## 2. 已完成
|
||||
|
||||
### 2.1 项目骨架
|
||||
@@ -1320,8 +1346,10 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
|
||||
- 阶段 12D-FP3-A:已完成独立字体包构建器、冻结配方、许可证与来源追踪、
|
||||
同版本不可变门禁和真实资产构建;
|
||||
- 阶段 12D-FP3-B:已完成独立用户级 NSIS 字体包、原子安装/升级/卸载、
|
||||
主安装器同目录哈希校验和显式静默开关;下一步 FP3-C 实现 Docker 可选
|
||||
挂载,最终由 R4 完成 14 套主题深度视觉回归;
|
||||
主安装器同目录哈希校验和显式静默开关;
|
||||
- 阶段 12D-FP3-C:已完成 Docker v0.6.0 DOCX/Pandoc 运行链、字体包只读
|
||||
可选挂载及空目录、有效包、损坏包三场景真实部署门禁;下一步由 R4 完成
|
||||
14 套主题深度视觉回归;
|
||||
- 阶段 13:完成 Word/WPS 双向互存、外部主题兼容、体积和正式发布验收。
|
||||
|
||||
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入
|
||||
|
||||
Reference in New Issue
Block a user