feat: 内置 Desktop Pandoc 最小运行时

This commit is contained in:
SkyJourney
2026-08-02 10:44:40 +08:00
parent 9a2aa3c341
commit 3a8d2c1c2e
16 changed files with 636 additions and 46 deletions
+15 -8
View File
@@ -1,6 +1,6 @@
# Pandoc 运行时与分发规范
状态:`v0.6.0` 阶段 2 冻结。
状态:`v0.6.0` 阶段 2 冻结Desktop 内置运行时已实现
## 1. 固定版本
@@ -26,6 +26,7 @@ DOCX OOXML、Word/WPS 互操作和包体回归。
SHA-256C97542F2800F446E788D9F74237856D995421AD1BB3CC8324286840C5F272D3A
压缩大小:41,250,425 字节
pandoc.exe231,056,136 字节
pandoc.exe SHA-256E83F8354C0F507222B5684797B9C5AE766F03889785995D14AAC27816EC456BA
```
发行包来源:
@@ -136,8 +137,8 @@ Pandoc 采用 GNU GPL version 2 or later。项目将其作为未修改的独立
项目发布资产计划至少包含:
```text
md-to-pdf-0.6.0-x86_64-Setup.exe
md-to-pdf-0.6.0-x86_64.zip
MorphDoc-0.6.0-x86_64-Setup.exe
MorphDoc-0.6.0-x86_64.zip
pandoc-3.9.0.2-source.tar.gz
THIRD_PARTY_NOTICES.md
```
@@ -154,17 +155,18 @@ Docker 镜像必须包含许可证、版权声明和源码归档位置说明,
基线为本机已有 `v0.5.1` 正式产物。以下数值使用官方压缩包和解压程序
实测,NSIS 与 ZIP 最终值仍以 `v0.6.0` 构建结果为准。
| 产物 | v0.5.1 基线 | v0.6.0 估算 | 增量 |
| 产物 | v0.5.1 基线 | v0.6.0 实测/估算 | 增量 |
| --- | ---: | ---: | ---: |
| Desktop 运行目录 | 333.98 MiB | 554.33 MiB | 220.35 MiB |
| NSIS 安装包 | 109.38 MiB | 约 148.71 MiB | 约 39.34 MiB |
| Desktop ZIP | 145.13 MiB | 约 184.47 MiB | 约 39.34 MiB |
| Desktop 运行目录 | 333.98 MiB | 556.94 MiB | 222.96 MiB |
| NSIS 安装包 | 109.38 MiB | 133.78 MiB | 24.40 MiB |
| Desktop ZIP | 145.13 MiB | 183.38 MiB | 38.25 MiB |
| Docker 内容大小 | 615.91 MiB | 约 770.05 MiB | 154.13 MiB |
| Docker 压缩拉取层 | — | — | 约 32.92 MiB |
结论:
- Desktop 解压目录增长明显,但安装包和 ZIP 受压缩后增量约 39 MiB;
- Desktop 解压目录增长明显;实测安装包增加 24.40 MiB,ZIP 增加
38.25 MiB
- Docker 运行时内容增长约 154 MiB,镜像传输增量约 33 MiB
- 不采用首次使用时联网下载,以保持内网和离线 Desktop 能力;
- 不使用 UPX 或二次修改官方二进制,避免兼容性、杀毒误报和合规风险;
@@ -182,6 +184,11 @@ Docker 镜像必须包含许可证、版权声明和源码归档位置说明,
- 许可证和版权文件;
- 对应源码归档地址。
Desktop 清单位于
`packages/docx-engine/src/pandoc-runtime.json`;准备脚本位于
`apps/desktop/scripts/prepare-pandoc-runtime.mjs`。下载缓存和解压目录
位于被 Git 忽略的 `apps/desktop/.runtime/`,不会进入源码提交。
构建流程必须:
1. 根据清单下载或读取缓存;
+9
View File
@@ -83,6 +83,13 @@ Windows ZIP 和 Linux amd64 tarball 的 SHA-256 均已核验;Linux 静态程
使用 `MorphDoc`。Electron `appId` 和 Markdown 文件关联 ProgID 保持不变,
并为旧版用户数据、快捷方式和应用注册项提供兼容迁移与清理。
`v0.6.0` 发布收口阶段 B 已完成 Desktop Pandoc 内置链路:发行构建根据
受版本控制的清单准备官方 Pandoc `3.9.0.2` Windows x64 ZIP,严格校验
SHA-256,只提取 `pandoc.exe``COPYING.rtf``COPYRIGHT.txt` 并生成
审计清单;打包前执行精确版本、默认模板和最小 DOCX 冒烟。生产环境优先
使用 `process.resourcesPath` 下的固定程序,无需用户安装 Pandoc,显式
开发配置和系统 PATH 降级仍保持兼容。
`v0.6.0` 阶段 3 已完成 DOCX 共享协议:`packages/core` 统一定义请求
Schema、资源、Pandoc capability、错误码、结果、诊断、耗时、MIME 和
安全文件名;`packages/application` 新增 `prepareDocxExport()`,复用
@@ -1420,6 +1427,8 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
差异保留为诊断项,不再误判为样式失败;
- 发布收口阶段 A:已完成 v0.6.0 版本、墨呈/MorphDoc 品牌、NSIS 名称、
文件关联兼容和旧版用户数据迁移;
- 发布收口阶段 B:已完成 Desktop 固定 Pandoc 最小运行时的清单、下载
哈希门禁、许可证保留、打包接入、离线复验和真实 DOCX 冒烟;
- 阶段 13:完成 Word/WPS 双向互存、外部主题兼容、体积和正式发布验收。
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入