【Skill 创作】Markdown转Word、PDF和Excel Skill for Trae SOLO

马克吐文是一个通用 Skill,用来把 AI 生成的 Markdown 转成 Word、PDF 或 Excel。
仓库地址:https://github.com/EchoRan6319/mark-to-win
Skill 有 三种 Markdown 转 PDF 的路径,按优先级依次尝试:

1. HTML PDF 引擎(最优先)

这是效果最好的路径,流程是:

  1. Pandoc 渲染 Markdown → HTML5mark_twain.py:845-872

    • 使用 pandoc --to html5 --standalone --mathml,支持数学公式、脚注、任务列表等扩展语法
  2. 注入 GitHub 风格 CSSmark_twain.py:830-842

    • MARKDOWN_READER_CSS(76-219 行)注入 HTML <head>,模拟 GitHub Markdown 阅读器的排版样式
  3. Chrome 无头模式打印 PDFmark_twain.py:875-900

    • 调用 chrome --headless --print-to-pdf=output.pdf,用浏览器渲染引擎把 HTML 转成 PDF

这是最接近 Markdown 阅读器效果的方式,支持 MathML 数学公式渲染、代码高亮、表格样式等。

2. Pandoc 直接转 PDF(次优先)

当 Chrome 不可用时,尝试用 Pandoc 直接生成 PDF(mark_twain.py:753-794):

  • 需要一个 PDF 引擎,如 xelatexlualatextypstweasyprint

  • 对中日韩文字,自动选择 CJK 字体(微软雅黑、苹方、Noto Sans CJK 等)

  • 适合学术/LaTeX 风格的 PDF 输出

3. ReportLab 原生渲染(兜底)

前两个都不可用时,用 Python 的 ReportLab 库自己解析和渲染(mark_twain.py:610-718):

  1. 解析 Markdownmark_twain.py:359-448)—— 把 Markdown 拆成 Block 对象(标题、段落、列表、引用、代码块、表格)

  2. 注册 CJK 字体mark_twain.py:549-589)—— 自动探测系统里的中文字体(微软雅黑 → SimHei → SimSun → STSong-Light 依次尝试)

  3. 用 ReportLab 的 platypus 排版 —— 把 Block 转成 ParagraphPreformattedTable 等元素,生成 A4 页面的 PDF

这种方式不需要任何外部依赖,但对复杂 Markdown(数学公式、脚注等)只保留纯文本。