什么是 Quarkdown?
Quarkdown 是一个基于 Markdown 的现代化排版系统,核心设计理念是 "多功能性"。它通过对 Markdown 的图灵完备扩展,使单一项目能无缝编译成印刷级别的书籍或交互式演示文稿。
作为 CommonMark 和 GFM 的扩展,Quarkdown 不仅兼容标准 Markdown 语法,还新增了函数调用、变量定义等高级功能。这种 "Markdown+" 的模式,让文档既能保持简洁易读,又能实现复杂排版需求。
核心功能
1. 函数式编程能力
Quarkdown最独特的功能是支持函数调用和变量定义。例如:
.function {greet} to from: **Hello, .to** from .from! .greet {world} from:{iamgio}
这段代码定义了一个greet
函数,调用后会输出"Hello, world from iamgio!"。这种能力让文档能动态生成内容,远超普通Markdown的静态特性。
2. 标准库扩展
Quarkdown内置不断扩展的标准库,提供布局构建器、IO操作、数学计算、条件语句和循环等功能。例如:
.let {.csv {sales.csv}} data: .data -- 显示表格 -->
这段代码读取CSV文件并以表格形式展示数据,无需额外编程。
3. 多格式导出
支持导出为多种格式:
-
HTML(普通/幻灯片/分页)
-
PDF(支持所有HTML特性)
通过.doctype
函数可指定输出格式:
.doctype {slides} -- 生成幻灯片 .doctype {paged} -- 生成分页文档
4. 实时预览与快速编译
结合实时预览和快速编译功能,编写和预览可以同步进行,提升创作效率。
5.提供完整的Mock文档
包含标题、目录、段落、列表、图表等元素,可作为样式参考。
安装与使用
安装方式
-
Homebrew (Linux/macOS):
brew tap quarkdown-labs/quarkdown
brew install quarkdown-labs/quarkdown/quarkdown
2.Scoop (Windows):
scoop bucket add java
scoop bucket add quarkdown https://github.com/quarkdown-labs/scoop-quarkdown
scoop install quarkdown
3.安装脚本 (Linux/macOS):
curl -fsSL https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/refs/heads/main/install.sh | sh
4.手动安装:
从下载quarkdown.zip,解压后使用。
创建项目
使用项目创建向导快速开始:
quarkdown create [directory]
这会启动一个基于提示的项目向导,帮助你快速设置新项目。
编译文档
编译Quarkdown文件:
quarkdown c file.qd
常用编译选项:
-
-p
或--preview
:编译后自动重新加载内容 -
-w
或--watch
:源文件变化时自动重新编译 -
--pdf
:生成PDF文件 -
-o <dir>
或--out <dir>
:设置输出文件目录
与其他格式对比
特性 | Quarkdown | Markdown | LaTeX | Typst | AsciiDoc | MDX |
---|---|---|---|---|---|---|
简洁易读 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
完整文档控制 | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ |
脚本功能 | ✅ | ❌ | 部分支持 | ✅ | ❌ | ✅ |
书籍/文章导出 | ✅ | ❌ | ✅ | ✅ | ✅ | 第三方支持 |
演示文稿导出 | ✅ | ❌ | ✅ | ✅ | ✅ | 第三方支持 |
学习曲线 | 🟢 | 🟢 | 🔴 | 🟠 | 🟢 | 🟢 |
目标格式 | HTML, PDF | HTML | PDF, PostScript | HTML, PDF, ePub | HTML |
Quarkdown在保持Markdown简洁易读的同时,提供了完整的文档控制能力,支持脚本功能和多格式导出,学习曲线平缓,是兼顾易用性和强大功能的理想选择。
总结
Quarkdown是一个强大的Markdown超集,它通过函数式编程能力、标准库扩展和多格式导出功能,将Markdown从简单的标记语言提升为完整的文档排版系统。无论是学术论文、演示文稿还是技术文档,Quarkdown都能提供简洁易读的语法和强大的排版能力。如果你经常需要编写复杂文档,又不想学习LaTeX的复杂语法,Quarkdown会是一个理想的选择。
Github项目地址:https://github.com/iamgio/quarkdown
AI工具的成熟,让程序员也有了以前不敢想象的能力。海外市场的广阔,给了我们更大的舞台。
如果你也在考虑新的出路,如果你也想尝试AI编程出海这个方向,欢迎加入我们。
扫码或搜索 257735 添加微信,发送暗号「美金」,了解详细信息。
文章评论