剪藏#剪藏#捣鼓软件

13.2k stars!Quarkdown:给 Markdown 装上超级引擎,一份源码输出书籍、PPT、网站全搞定!

2026 年 5 月 2 日1 分钟
分享Twitter / XTelegram微博

🪐 Quarkdown:给 Markdown 装上超级引擎,一份源码输出书籍、PPT、网站全搞定

GitHub 9.1k ⭐ | 开源免费 | 支持全平台

写在前面:你是否也有这些烦恼?

写论文用 Word,排版崩溃一下午; 做演示用 PowerPoint,内容改了格式又得重来; 建知识库用 Notion,导出一塌糊涂; 写技术文档用 Markdown,却发现它根本没有函数、没有变量、没有复用……

同一份内容,要输出成不同形式,你得维护好几套文件。

这个问题,Quarkdown 想从根上解决。

Quarkdown 是什么?

Quarkdown 是一个现代化的、基于 Markdown 的排版系统,核心理念是"一份源码,多种输出"。

它在标准 Markdown(CommonMark / GFM)的基础上,引入了一套图灵完备的函数系统,让 Markdown 拥有了编程语言的能力——你可以定义函数、使用变量、写条件判断、写循环,甚至打包成库供他人复用。

一句话描述:Quarkdown = Markdown + 函数 + 排版引擎

目前 GitHub 已获得 9100+ Star,活跃开发中。

Notion image

它解决了哪些核心问题?

问题一:Markdown 表达能力太弱

原生 Markdown 是静态的,不能复用片段,不能做动态内容,不能参数化布局。一旦文档结构复杂,就只能大量复制粘贴,维护噩梦。

Quarkdown 的解法: 引入函数调用语法。你可以在 Markdown 里直接调用内置函数,也可以自定义函数:

JAVASCRIPT
.function {greet}
    to
    from:
        **Hello, .to** from .from! .greet {world} from:{iamgio}

输出结果:Hello, world from iamgio!

语法自然地融入 Markdown,毫无违和感。

问题二:不同场景要用不同工具

写论文要用 LaTeX 或 Word,做幻灯片要用 PowerPoint,建网站要用 HTML/CSS,这些工具之间没有共通性,学习成本和迁移成本极高。

Quarkdown 的解法: 通过 .doctype 指令,同一套源文件可以编译输出为四种不同形态:

Plain(连续流) 静态网站、知识管理 类 Notion/Obsidian
Paged(分页) 学术论文、书籍、PDF paged.js
Slides(幻灯片) 交互式演示文稿 reveal.js
Docs(文档站) Wiki、技术文档 内置渲染

改一行配置,换一种输出——内容完全不用动。

问题三:排版定制能力差

原生 Markdown 对布局的控制几乎为零:想居中?不行。想多栏?不行。想自定义页眉页脚?不行。

Quarkdown 的解法: 标准库提供了丰富的布局函数,覆盖:

  • • 布局构建:多栏、居中、行列对齐

  • • 数学公式:KaTeX 渲染

  • • 图表:Mermaid 集成

  • • 页面控制:页码、自动分页、目录、脚注

  • • 主题与 CSS:自定义字体、颜色、样式

  • • I/O:读取外部文件、CSV 数据表格

怎么用?

第一步:安装

macOS(推荐):

JAVASCRIPT
brew tap quarkdown-labs/quarkdown
brew install quarkdown-labs/quarkdown/quarkdown

Linux(一键脚本):

JAVASCRIPT
curl -fsSL https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/refs/heads/main/install.sh | sudo env "PATH=$PATH" bash

脚本会自动安装 Java 17、Node.js 和 npm(如果系统中没有的话)。

Windows(Scoop):

JAVASCRIPT
scoop bucket add quarkdown https://github.com/quarkdown-labs/scoop-quarkdown
scoop install quarkdown

第二步:创建项目

JAVASCRIPT
quarkdown create my-doc

这会启动一个交互式项目向导,自动生成项目结构和初始元数据,几秒钟上手。

第三步:编写内容

Quarkdown 源文件以 .qd 为后缀。一个典型的文档开头如下:

JAVASCRIPT
.docname {我的技术报告}
.docauthor {张三}
.doctype {paged}
.doclang {zh} # 第一章:引言 这里是正文内容,支持所有标准 **Markdown** 语法。 .toc .math
    E = mc^2

第四步:编译与预览

JAVASCRIPT
# 编译输出
quarkdown c my-doc/main.qd # 开启实时预览(保存即刷新)
quarkdown c my-doc/main.qd -p -w # 导出 PDF
quarkdown c my-doc/main.qd --pdf

-p 开启浏览器实时预览,-w 监听文件变化自动重编译,两者结合就是完整的实时预览工作流

VS Code 扩展

Quarkdown 还提供了官方 VS Code 插件,支持语法高亮、智能补全和内联预览,进一步降低写作摩擦。

一个实际场景示例

假设你要写一篇学术论文,需要目录、数学公式、多级标题和自动页码:

JAVASCRIPT
.doctype {paged}
.docname {深度学习综述} .toc # 摘要 本文探讨了... # 方法 ## 损失函数 .math
    \mathcal{L} = -\sum_{i} y_i \log(\hat{y}_i) ## 实验结果 .csv {results.csv}

编译一条命令,输出带页码、目录、公式的专业 PDF。

与同类工具对比

上手难度 低 高 低
函数/变量 ❌ ✅ ✅
多种输出格式 有限 有限 ✅
实时预览 依赖编辑器 需插件 ✅ 内置
幻灯片输出 ❌ 部分 ✅
自定义扩展 ❌ ✅ ✅
学习曲线 平坦 陡峭 平缓

总结

Quarkdown 做了一件很聪明的事:它没有重新发明一门语言,而是在人们已经熟悉的 Markdown 上,叠加了编程能力和专业排版能力

适合你的场景:

  • • 你经常需要同一份内容输出为不同格式(文档 + 幻灯片 + 网站)

  • • 你写学术论文、技术报告,需要目录、公式、参考文献

  • • 你觉得 LaTeX 太难,但又嫌原生 Markdown 太弱

  • • 你想用纯文本工作流搭建个人知识库或博客网站

一句话推荐: 如果你是重度 Markdown 用户,又对输出质量有要求,Quarkdown 值得花半小时试用一下。

项目地址: https://github.com/iamgio/quarkdown

官方 Wiki: https://github.com/iamgio/quarkdown/wiki

觉得有用就点个在看,让更多人发现这个宝藏工具 🪐

原文地址: https://mp.weixin.qq.com/s?__biz=MzA3MzA2Nzc1MA==&mid=2247485013&idx=1&sn=8fe070b31bb1d25925541cbc4894033f&chksm=9ef52be4b2ea9b43f5dbfc0523c677c1264bcbe8ae7db4facb27b0a48eb940f121a36c516e5b&mpshare=1&scene=1&srcid=05020qODBnDCn3JnAZwD85SR&sharer_shareinfo=7d481962dcd7ff4ac1ca6b34aa7e4832&sharer_shareinfo_first=7d481962dcd7ff4ac1ca6b34aa7e4832#rd

相关文章