Quarkdown:赋予 Markdown 超能力的现代排版系统

如果你用过 Markdown 写过笔记或文档,一定体会过它的简洁与局限------写个简单的博客文章绰绰有余,但一旦想排出一本正经的学术论文或精美的幻灯片,它就开始"力不从心"了。Quarkdown 正是为了填补这道鸿沟而生的。它是一个基于 Markdown 的现代排版系统,把 Markdown 的亲切感和 LaTeX 级别的排版能力融为一体,让你用一套源码就能输出论文、书籍、网站、幻灯片......几乎想要什么就能出什么。


🪐 它到底是什么?

Quarkdown 由开发者 iamgio (Giorgia Gio)于 2024 年 1 月创建,是一个开源的、图灵完备的 Markdown 扩展排版系统。截至 2026 年,它在 GitHub 上已积累超过 15,780 颗星488 个 Fork,并在 Hacker News 上获得 668 点的高度关注。

它的核心理念可以用一句话概括: "一份源文件,多种输出形态。"

你写的是 Markdown,但经过 Quarkdown 的编译器处理后,可以得到:

  • 一篇排版精美、可直接打印的学术论文(PDF)
  • 一本完整的书籍
  • 一个交互式幻灯片演示
  • 一个静态知识库网站或技术文档站

这在传统工具里几乎是不可能的------LaTeX 擅长论文,但做幻灯片很痛苦;Markdown 写博客很爽,但排版能力极其有限。Quarkdown 把两者的优点拼在了一起。


🔧 核心特性详解

Markdown 的超集:函数系统

Quarkdown 最革命性的设计,是在 Markdown 里引入了函数调用机制。这让它从一个"标记语言"升级成了一个真正的"脚本化排版语言"。

函数调用的语法长这样:

css 复制代码
.somefunction {arg1} {arg2}
    Body argument

你甚至可以在文档里自定义函数

vbnet 复制代码
.function {greet}
    to from:
    **Hello, .to** from .from!

.greet {world} from:{iamgio}

输出结果就是:Hello, world from iamgio!

这个设计和 LaTeX 的 \command{} 非常相似,但语法更直观,学习曲线更平缓。

图灵完备的脚本能力

Quarkdown 内置了一套完整的脚本系统,包括:

  • 变量定义与赋值
  • 条件判断(if/else)
  • 循环语句(loops)
  • 数学运算
  • 数据解构(destructuring)
  • Lambda 表达式

这意味着你可以在文档里写逻辑,动态生成内容------这是普通 Markdown 完全做不到的事情。

丰富的标准库

Quarkdown 自带一个持续扩展的标准库,覆盖了大量实用功能:

功能分类 具体能力
布局系统 行、列、网格、容器、浮动、对齐
数学公式 完整 TeX 公式支持
图表 XY 图表、Mermaid 流程图
数据处理 CSV 导入、表格生成与操作
幻灯片 交互片段、演讲者注释
文档结构 目录、参考文献、脚注、书籍封面
代码 高级代码块、正则样式化

🎯 支持的输出目标

Quarkdown 的"一源多出"能力来自其灵活的渲染后端,目前支持以下输出格式:

  • Plain HTML:连续流式布局,类似 Notion 或 Obsidian,适合静态网站和知识管理
  • Paged HTML(基于 paged.js):分页排版,适合论文、文章和书籍
  • Slides(基于 reveal.js):交互式演示文稿
  • Docs :适合大型 Wiki 和技术文档站------Quarkdown 自己的官方 Wiki(100+ 子文档)就是用它构建的,编译时间约 2 秒

⚔️ 与同类工具的横向对比

Quarkdown 的出现,让排版工具的格局变得更有趣。社区里对它和 LaTeX、Typst 的比较讨论非常热烈。

工具 语法难度 输出灵活性 脚本能力 适合场景
LaTeX 高(陡峭学习曲线) 高(主要 PDF) 高(宏系统) 学术论文、数学排版
Typst 中(现代语法) 中(主要 PDF) 中(内置脚本) 论文、技术文档
Markdown 低(极易上手) 低(HTML 为主) 博客、笔记
Quarkdown 低-中(基于 Markdown) 高(多种格式) 高(图灵完备) 论文/书/网站/幻灯片

Quarkdown 的核心优势在于:它是目前唯一能用接近 Markdown 的写作体验,同时输出多种专业格式的工具。正如开发者所说,它是"Markdown 的亲切感 + LaTeX 的排版能力"的混合体。

当然,它也有局限------对于极度复杂的数学排版场景,LaTeX 的宏系统仍然更强大;Typst 在纯 PDF 排版的精细控制上也有自己的优势。


🚀 如何开始使用

安装

Quarkdown 基于 JVM(Java 虚拟机),需要 Java 环境。安装后通过命令行使用:

python 复制代码
# 创建新项目
quarkdown create myproject

# 编译文档
quarkdown compile myfile.qmd

# 启动实时预览服务器
quarkdown serve myfile.qmd

VS Code 扩展

官方提供了 VS Code 插件 ,支持实时预览功能------你在左边写代码,右边实时看到渲染效果,延迟极低。这对于写作体验来说是质的提升。

一个最简单的文档示例

ini 复制代码
.doctype {paged}
.theme {paperwhite}

# 我的第一篇论文

## 摘要

这是用 Quarkdown 写的第一个文档。

## 正文

.math
    E = mc^2

这是爱因斯坦的质能方程。

短短几行,就能输出一个带有 LaTeX 风格排版的 PDF 论文页面。


🧠 技术架构:它是怎么工作的

Quarkdown 的编译流程分为几个清晰的阶段:

整个系统基于 Kotlin 编写,代码库包含多个模块:核心编译器(quarkdown-core)、标准库(quarkdown-stdlib)、HTML 渲染器(quarkdown-html)、CLI 工具(quarkdown-cli)、LSP 语言服务器(quarkdown-lsp)等,架构清晰,扩展性强。


🌟 生态与社区现状

Quarkdown 的生态正在快速成长:

  • 官方 Wiki 本身就是用 Quarkdown 编写并部署的,包含 100+ 子文档
  • VS Code 扩展 提供语法高亮、实时预览、代码补全
  • 内置 AI Agent 技能,让 AI 编程助手能够"理解" Quarkdown 语法,直接生成符合规范的文档
  • Docker 支持,可以容器化部署
  • 持续集成友好,3 分钟内即可配置好 CD 工作流自动发布文档

💡 总结

Quarkdown 代表了一种新的文档创作哲学------写作应该简单,但输出不应该将就。它让你不必在"Markdown 的简单"和"LaTeX 的强大"之间二选一,而是两者兼得。

对于学生、研究者、技术写作者、甚至前端开发者来说,它都是一个值得认真尝试的工具。尤其是当你需要同时维护一份文档,并以多种形式发布时,Quarkdown 的"一源多出"能力几乎无可替代。

项目仍在活跃开发中(截至 2026 年已有 3,600+ 次提交),社区也在持续壮大。如果你对现代排版工具感兴趣,这颗正在冉冉升起的"夸克之星"绝对值得关注。


参考来源

相关推荐
BerryS3N7 小时前
C++23新特性在CLion中的实战体验:从语法糖到生产力提升
前端·c++23
申君健24864182772027 小时前
# WebGPU 的渲染原理与 Shader
前端
随风123weber7 小时前
从前端响应式到后端背压:深度拆解生成式 UI(Generative UI)
前端
用户059540174467 小时前
用 Pytest 接管大模型记忆存储测试,状态一致性问题减少 90%
前端·css
IT_陈寒7 小时前
JavaScript的异步地狱里,我的Promise掉进了微任务陷阱
前端·人工智能·后端
嘟嘟07177 小时前
大前端工程师必学:用 BFF 架构搭建安全的 AI 流式应用
前端
meilindehuzi_a8 小时前
Vue 项目中的前端 BFF:跨域代理与流式请求实战
前端·javascript·vue.js
小则又沐风a8 小时前
库的原理:目标文件,ELF格式,程序加载
java·linux·前端
程序员爱钓鱼9 小时前
Rust if let 与 while let 详解:简化模式匹配
前端·后端·rust