• v0.5.1 83e6559c2c

    jiangshunzhi released this 2026-07-29 16:58:37 +08:00 | 50 commits to main since this release

    Markdown PDF 导出器 v0.5.1

    这一版让 Markdown PDF 导出器能够更自然地处理公文、企业正式文件和标书。

    现在可以直接选择 10 套全新的正式文档主题,自动采用对应的规范页边距、页眉页脚、页码、字体和页面装饰;内置教程与 14 份主题示例可以从“更多”菜单直接打开。桌面端同时补齐了新建、保存、另存为、未保存确认和常用快捷键,代码块的换行与跨页排版也更加可靠。


    Highlights

    • 新增 10 套政企、正式文档和标书主题
    • 正式主题自动采用推荐页边距、页眉页脚和页码
    • 支持结构化公文、报告和标书 Front Matter
    • 内置 Fandol 中文字体,降低跨机器排版差异
    • 新增 ECharts 与公文主题教程
    • 为全部 14 套内置主题提供示例 Markdown
    • Desktop 支持新建、保存、另存为及未保存确认
    • 代码块支持自动换行、长内容断行和跨页分页

    🎨 10 套全新正式文档主题

    红头与政企主题

    • 政企标准红头
    • 函件红头
    • 企业简版红头
    • 简报红头

    正式文档主题

    • 正式制度
    • 正式报告
    • 可研报告

    标书主题

    • 经典标书
    • 商务蓝标书
    • 暗标

    加上原有的 Typora Github、Typora Pixyll、Typora whitey 和 Typora Clean,当前共内置 14 套主题。


    📐 规范页边距与页面设置

    主题清单现在可以声明推荐的:

    • 上、下、左、右页边距
    • 页眉与页脚
    • 页码格式和位置
    • 页面装饰
    • 文档结构预设

    选择正式主题时,应用会自动采用主题推荐参数。

    普通主题或未声明推荐设置的自定义主题继续使用原有的 16mm 默认页边距,不改变既有文档行为。


    📄 结构化正式文档

    Front Matter 现在可以描述公文、项目报告和标书结构,包括:

    • 发文机关
    • 文号
    • 签发人
    • 密级与紧急程度
    • 主送机关
    • 正文标题
    • 附件
    • 落款与日期
    • 抄送信息
    • 印发信息
    • 项目报告及标书封面信息

    渲染器会根据主题和 Front Matter 自动生成对应的正式文档结构。

    红头标题改用稳定的居中布局,不再因为签发人信息产生偏移。


    🔤 正式文档字体

    正式主题内置 Fandol 中文字体资源,用于统一:

    • 正文
    • 红头标题
    • 公文标题
    • 页眉与页脚
    • 文号及版记信息

    字体随 Web 镜像和 Desktop 安装包发布,不依赖用户电脑是否安装特定中文字体。


    📚 教程与主题示例

    “更多”菜单新增两个教程:

    • ECharts 图表教程
    • 公文主题与 Front Matter 教程

    教程包含完整 YAML 示例、字段作用、参数列表和渲染效果。

    同时为全部 14 套主题提供示例 Markdown。打开主题示例时会自动切换到对应主题,方便直接查看排版效果或复制 Front Matter。

    Web 与 Desktop 均可使用内置教程和示例。


    💾 Desktop 文件工作流

    “更多”菜单重新划分为三个区域:

    1. 文件操作
    2. 教程与主题示例
    3. 主题管理

    新增或完善以下快捷键:

    操作 快捷键
    新建文件 Ctrl+N
    保存文件 Ctrl+S
    另存为文件 Ctrl+Shift+S
    关闭窗口 Ctrl+W

    新建或关闭窗口时,如当前文档存在未保存内容,会显示确认对话框。

    “另存为”成功后,当前窗口会继续跟踪新文件路径,行为与常见办公软件一致。

    Web 端隐藏不适用的“另存为”入口。


    🧩 代码块排版修复

    本版本重新整理了围栏代码块的盒模型和分页行为:

    • 按正文内容宽度自动换行
    • 超长单词和 SQL 字段允许安全断行
    • 内容不会越过代码块右侧边界
    • 统一保留 8px 左侧内容留白
    • 当前页可以容纳至少一组代码行时,不再将整个代码块推到下一页
    • 跨页代码块保持连续边框和完整语法高亮
    • 兼容 Typora 风格的 .md-fences DOM

    🐛 其他修复

    • 修复红头标题在部分结构下偏右
    • 修复签发人信息影响发文机关居中
    • 修复正式文档页眉页脚字体不统一
    • 修复 Web Docker 镜像遗漏 samples 目录
    • 修复浏览器加载内置教程时报“缺少内置教程”
    • 修复代码块长内容横向越界
    • 修复大型代码块被整体推到下一页而留下大片空白
    • 修复 Typora Github 代码内容贴近左侧边框

    🐳 Web 与 Docker Compose

    正式镜像标签:

    yixiong/md-to-pdf:v0.5.1
    

    镜像内容 ID:

    sha256:72f519a69bfd6cb2f6df30c2be938e58ceb6f20e4748a32551874de3d436b276
    

    从源码标签构建并启动:

    git checkout v0.5.1
    
    $env:MD_TO_PDF_IMAGE = 'yixiong/md-to-pdf:v0.5.1'
    docker compose -f deploy\compose.yaml up --build -d
    

    服务默认地址:

    http://localhost:8080
    

    📦 Downloads

    文件 类型 大小
    md-to-pdf-0.5.1-x86_64-Setup.exe Windows NSIS 安装版 114,688,014 bytes
    md-to-pdf-0.5.1-x86_64.zip Windows 免安装版 152,183,607 bytes

    SHA-256

    md-to-pdf-0.5.1-x86_64-Setup.exe
    676CCE73D782B0B15AC6BC68F253CFBC4740383583E4DAA98F746EDF9999C5CC
    
    md-to-pdf-0.5.1-x86_64.zip
    82BF6ADF1200604F145CC86FA3ED193955CF6741EBEE3DF8953483515CFF621F
    

    当前 Windows 安装包尚未配置 Authenticode 代码签名,首次运行时可能显示“未知发布者”。请核对文件名和 SHA-256 后安装。


    验证结果

    • 完整回归:65 个测试文件、286 项测试通过
    • 最终代码块与主题定向测试:27 项通过
    • 全项目 TypeScript 类型检查通过
    • Web、Server、Desktop 生产构建通过
    • Windows NSIS 与 ZIP 完整重建通过
    • Desktop 安装升级及手动验收通过
    • Compose 健康检查通过
    • 容器检出 14 套主题和 17 份 Markdown 教程/示例
    • 容器 PDF 中长 SQL 正确换行并跨页连续
    • Mermaid 与 ECharts 渲染错误数均为 0

    🔗 完整变更

    v0.5.0...v0.5.1

    Downloads