MarsDawn

命令行工具

免费的 marsdawn 命令行工具:从终端或 LLM agent 把 Markdown 导出成 PDF;装了 MarsDawn app 的话,也能用它打开文件。

marsdawn 免费、另外发布,不通过 Mac App Store。用 Homebrew 安装,在 Apple 芯片的 Mac 上装好就能直接使用。export 可以单独使用;open 需要 MarsDawn app。

要从 AI agent 或脚本调用 marsdawn?请看给 AI agent 的 marsdawn 参考,里面有 JSON 输出、Schema 和所有退出代码。

安装

使用 Homebrew

brew tap redtear1115/tap && brew install marsdawn

在 Apple 芯片的 Mac 上,Homebrew 会直接安装预先构建好的版本,几秒就完成,不需要另外安装任何东西。在 Intel Mac 上则会从源代码构建,需要几分钟,也需要 Xcode 26 以上(Swift 6.2)。这个工具需要 macOS 15 以上。

也可以从源代码用 Swift Package Manager 构建:

git clone https://github.com/redtear1115/mars-dawn-kit.git
cd mars-dawn-kit
swift build -c release --product marsdawn

marsdawn --version 查看安装的版本。

命令

marsdawn open

在 MarsDawn app 中打开一个或多个 Markdown 文件,方便审阅。需要先安装这个 app:没有安装时,marsdawn open 会以代码 3 结束,并说明没有安装 MarsDawn。export 不需要这个 app。

marsdawn open notes.md
marsdawn open notes.md:120
marsdawn open notes.md --line 120

行号功能从 marsdawn 0.3.0 开始提供。

marsdawn export

把 Markdown 文件输出成分页的 PDF,使用和 MarsDawn 输出 PDF 相同的组件。不需要安装 MarsDawn app。相对路径的图片,会以输入文件所在的文件夹为准。

marsdawn export notes.md -o notes.pdf --theme classic --paper a4

$MARSDAWN_THEME 环境变量

没有传入 --theme 时,export 会读取 $MARSDAWN_THEME 环境变量,值必须是 dawnclassicmodernvivid 其中之一,其他值都会改用 dawn。这个工具不会读取 App 本身的主题设置,因为读取其他 App 的容器可能触发 macOS 隐私提示。

覆盖文件的规则

export 默认不会覆盖已存在的输出文件,除非加上 --force

退出代码

--json 输出

成功时,marsdawn open --json 会输出 okopened(每个文件的 path,有指定行号时另含 line)与 app(App 路径);marsdawn export --json 会输出 okoutputpagesthemepaperdiagramErrors。失败时两者都会输出 okerrormessage