release: 发布墨呈 v0.6.0

新增能力:实现可编辑 DOCX 导出、通用主题样式翻译、Markdown 基础工具栏、统一导出菜单与导出进度提示;14 套主题支持纸张、页边距、字体、段落、代码、图片、图表、封面、页眉页脚和页码映射。

问题修复:修复精确预览放大后的右侧留白、保存与导出默认路径、Desktop DOCX 媒体捕获超时、品牌改名后的安装目录迁移,并统一主题展示名称。

兼容与部署:产品更名为墨呈/MorphDoc,保留 NSIS 安装身份;Desktop 内置 Pandoc 3.9.0.2,字体包支持安装向导可选与独立分发;Docker 内置 Chromium、Pandoc 和正式字体,支持离线部署。

发布规则:新增 release/v<version> 唯一产物目录、Docker 镜像 tar.gz、Web 部署 ZIP、manifest.json 和 SHA256SUMS.txt;正式字体迁入版本化仓库目录并由 Git LFS 管理。

验证结果:全项目测试、类型检查、生产构建、git diff --check、14 主题 DOCX 与视觉矩阵、Web API、Desktop 安装版、Word/WPS 可编辑性和字体门禁全部通过;离线镜像经 docker load 复验且容器保持 healthy。

发布产物:Desktop 安装器与 ZIP、字体安装器与 ZIP、Web 镜像压缩包、离线部署包、发行说明和校验清单已整理至本地 release/v0.6.0。Windows EXE 当前未进行 Authenticode 签名,仅按公司内部发布风险规则分发。
This commit is contained in:
SkyJourney
2026-08-02 15:54:27 +08:00
parent 3e89e3faff
commit 842c3f1782
14 changed files with 505 additions and 9 deletions
+17 -2
View File
@@ -115,6 +115,18 @@ GitHub、Clean、Pixyll 和 Whitey,默认主题仍为 GitHub。为确保覆盖
`typora-whitey` 等内部主题 ID、目录名和配置键保持不变;来源说明、作者
字段及许可证审计信息也继续保留。
`v0.6.0` 发布收口阶段 D 已建立统一发版规则。正式分发文件只允许归集到
被 Git 忽略的 `release/v<version>/`;统一脚本从 Desktop、字体包和
版本化 Docker 镜像生成安装器、便携 ZIP、字体附件、离线镜像 tar.gz、
Web 部署 ZIP、发行说明、机器可读清单及 SHA-256 校验文件,先写入临时
目录并在全部成功后原子落盘,既有版本目录禁止覆盖。正式字体资产迁入
`font-packs/assets/<id>/<semver>/` 并由 Git LFS 管理,构建器继续严格校验
冻结字节数、哈希、内部字族名和嵌入权限。本次 `release/v0.6.0` 的 8 项
校验和全部通过,707,722,584 字节的离线镜像归档已由 `docker load` 重新
导入,镜像 ID 保持
`sha256:53bfbc9592542d4ffe9ec3017c401c6d49a28c4ee993c6c5fc00536b1d01978a`
运行容器健康状态为 `healthy`
`v0.6.0` 阶段 3 已完成 DOCX 共享协议:`packages/core` 统一定义请求
Schema、资源、Pandoc capability、错误码、结果、诊断、耗时、MIME 和
安全文件名;`packages/application` 新增 `prepareDocxExport()`,复用
@@ -1370,9 +1382,10 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
资源哈希与容量门禁、确定性版本选择和逻辑字体面匹配;应用层已将同一
解析结果用于主题 CSS 的 WOFF2 和 DOCX 的静态 TrueType,发行资产与
安装逻辑留在 FP3。
- `packages/font-pack-builder` 负责从仓库冻结资源构建版本化字体包,
- `packages/font-pack-builder` 负责从仓库内 Git LFS 冻结资源构建版本化字体包,
校验输入哈希、字体格式、内部元数据、嵌入权限、同版本不可变性并生成
可供注册器再次验证的构建报告;字体二进制和产物目录均不进入 Git。
可供注册器再次验证的构建报告;正式字体二进制进入 LFS,构建产物、门禁
报告和 `release/` 均不进入 Git。
- `packages/application/src/docx-export-service.ts` 负责 DOCX capability、
并发排队、总超时、取消、跨端转换编排、错误码和耗时诊断。
- `apps/desktop/src/desktop-application-controller.ts` 负责 Electron
@@ -1456,6 +1469,8 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
哈希门禁、许可证保留、打包接入、离线复验和真实 DOCX 冒烟;
- 发布收口阶段 C:已完成确定性字体 ZIP、MorphDoc 字体安装器命名、
Desktop 同目录可选附件、Docker 镜像内置字体和真实 DOCX 发行门禁;
- 发布收口阶段 D:已完成统一 `release/v<version>` 产物目录、Docker 离线
镜像封包、部署 ZIP、清单与校验和规则,并将正式字体纳入 Git LFS;
- 阶段 13:完成 Word/WPS 双向互存、外部主题兼容、体积和正式发布验收。
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入
+71
View File
@@ -0,0 +1,71 @@
# 发版规则
## 唯一产物目录
所有正式分发文件必须统一归集到仓库根目录下的:
```text
release/v<semver>/
```
`release/``output/``apps/desktop/out/``apps/desktop/.runtime/`
`tmp/` 以及门禁报告均是本地中间产物或发布产物,必须保持 Git 忽略。
大型二进制不得直接提交到普通 Git 历史。
正式目录只能由 `npm run release:stage` 生成。脚本先写入同一文件系统中的
`.stage-*` 临时目录,完成镜像封包、清单和校验和后再原子改名;目标版本
目录已经存在时必须拒绝覆盖。
## 标准目录内容
每个版本至少包含:
```text
release/v<version>/
├── MorphDoc-<version>-x86_64-Setup.exe
├── MorphDoc-<version>-x86_64.zip
├── MorphDoc-FontPack-<id>-<font-version>-x86_64-Setup.exe
├── MorphDoc-FontPack-<id>-<font-version>.zip
├── MorphDoc-Web-<version>-image.tar.gz
├── MorphDoc-Web-<version>-deploy.zip
├── manifest.json
├── SHA256SUMS.txt
└── RELEASE-NOTES.md
```
Docker 镜像必须通过 `docker save` 导出并使用 gzip 压缩。Web 部署 ZIP 必须
包含 Compose、Nginx、环境变量示例和离线加载说明。`manifest.json` 记录
版本、Git 提交、镜像 ID、文件大小和 SHA-256;`SHA256SUMS.txt` 用于分发后
独立校验。
## 正式字体资产
正式字体固定存放于:
```text
font-packs/assets/<font-pack-id>/<semver>/
```
TTF、OTF、WOFF 和 WOFF2 必须由 Git LFS 跟踪。新增或升级字体前必须完成
许可证、来源、内部字族名、文档嵌入权限、字节数和 SHA-256 审查;任何内容
变化都必须提升字体包 SemVer。克隆后需要先执行 `git lfs pull`,构建器不会
下载或使用系统字体代替缺失资产。
## 发版步骤
1. 完成全量测试、类型检查、生产构建和视觉门禁。
2. 构建 Desktop 安装包、便携 ZIP 和字体附件。
3. 构建并验证版本化 Docker 镜像。
4. 准备 `docs/releases/v<version>.md`
5. 执行:
```powershell
npm run release:stage -- --version <version> --image md-to-pdf:v<version>
```
6. 逐项核验 `SHA256SUMS.txt`,并从离线归档重新加载 Docker 镜像。
7. 创建内容完整的 `release:` 提交。
8. 创建 annotated `v<version>` 标签,标签说明与发布提交正文一致。
安装器公开分发前应完成 Authenticode 签名;未签名产物只能按内部发布风险
规则分发。
+38
View File
@@ -0,0 +1,38 @@
# MorphDoc · 墨呈 v0.6.0
## 核心更新
- 新增可编辑 DOCX 导出,保留纸张、页边距、字体、段落、代码块、图片、
Mermaid、ECharts、封面、页眉页脚和页码配置。
- 建立通用主题到 DOCX 样式翻译引擎,14 套内置主题通过真实 Word/WPS
无修复打开、编辑和逐页视觉门禁。
- 新增可扩展 Markdown 基础工具栏,支持标题、强调、代码、引用、多行列表、
任务列表、分隔线及 M×N 表格。
- PDF 与 DOCX 统一收口到“导出”子菜单,并提供独立顶部进度提示。
## 发行与兼容性
- 产品更名为“墨呈”,英文名 MorphDoc;保留原 NSIS 安装身份并迁移到新的
默认安装目录、快捷方式和开始菜单目录。
- Desktop 内置固定 Pandoc 3.9.0.2 最小运行时;字体包可在安装向导中选择,
也提供独立安装器与 ZIP。
- Docker 镜像内置固定 Chromium、Pandoc 与正式字体包,支持完全离线部署。
- 正式字体资产转由仓库固定目录和 Git LFS 管理。
## 问题修复
- 修复精确预览放大后右侧缺少固定留白的问题。
- 修复保存、另存为和导出的默认路径优先级。
- 修复 Desktop DOCX 图片捕获可能超时的问题。
- 修复品牌改名后安装器仍继承旧安装目录的问题。
- 统一主题展示名称并移除 Typora 字样,默认主题保持 GitHub。
## 验证结论
- 全项目测试、类型检查、生产构建和空白检查通过。
- 14 套主题生产 PDF/DOCX 与六组纸张、方向、页边距视觉矩阵通过。
- Web API、Desktop ZIP、覆盖安装后的真实安装版均完成 PDF/DOCX 导出。
- Word/WPS 可编辑性、字体嵌入、封面独立分页和页眉页脚位置门禁通过。
当前 Windows 安装器未进行 Authenticode 签名,适用于公司内部发布;公开
网络分发前建议增加代码签名。