Quarkdown 是一款基于 Markdown 的现代排版系统,旨在将项目无缝编译成可用于印刷的书籍或交互式演示文稿。它通过强大的图灵完备 Markdown 扩展,确保你的想法自动转化为纸质文档。 Quarkdown 扩展了 CommonMark 和 GFM,为 Markdown 带来了函数以及许多其他语法扩展。它具有一个不断扩展的标准库,提供布局构建器、I/O、数学、条件语句和循环。用户还可以定义自己的函数和变量,甚至可以创建供他人使用的库。
Quarkdown 提供的开箱即用的脚本支持,为复杂的动态内容打开了大门,这些内容在纯 Markdown 中是不可能实现的。 结合实时预览和快速编译速度,Quarkdown 能够高效地完成工作。
Quarkdown 的目标输出格式包括 HTML、纯文本、基于 reveal.js 的幻灯片、基于 paged.js 的分页文档(书籍、文章)以及 PDF。 HTML 支持的所有文档类型和功能在导出为 PDF 时也受支持。可以使用 `.doctype` 函数在源文件中设置所需的文档类型。
Quarkdown 在简洁性和可读性、完整的文档控制、脚本支持和书籍/文章导出方面优于 Markdown、LaTeX 和 AsciiDoc。与 MDX 相比,Quarkdown 在完整文档控制方面有所欠缺。
**快速开始:**
1. **安装:** 从发布页面下载 quarkdown.zip 或使用 gradlew distZip 构建它,然后解压缩。 `bin` 目录包含可执行脚本。 可选地,将其添加到你的 `PATH` 允许你更轻松地访问 Quarkdown。 `lib/qmd` 目录包含可以导入到项目中的 `.qmd` 库。 需要 Java 17 或更高版本。
2. **创建项目:** 运行 `quarkdown create [directory]` 将启动基于提示的项目向导,使设置新的 Quarkdown 项目比以往任何时候都更快,并且所有元数据和初始内容都已存在。 或者,你可以手动创建一个 `.qmd` 源文件并从那里开始。
3. **编译:** 运行 `quarkdown c file.qmd` 将编译给定的文件并将输出保存到文件。 如果项目由多个源文件组成,则目标文件必须是根文件,即包含其他文件的文件。 使用 `quarkdown repl` 进入交互式 REPL 模式。
**编译选项:**
* `-p` 或 `–preview`:编译后启用自动内容重新加载。 如果 Web 服务器尚未运行,则会启动该服务器并在默认浏览器中打开文档。 这是为了在浏览器中渲染分页文档所必需的。
* `-w` 或 `–watch`:每次更改源目录中的文件时,都会重新编译源。 将 `-p` 和 `-w` 结合使用以实现实时预览!
* `–pdf`:生成 PDF 文件。
* `-o <dir>` 或 `–output <dir>`:设置输出文件的目录。 默认为 `./output`。
* `-l <dir>` 或 `–libs <dir>`:设置可以从中加载外部库的目录。 默认为 `<install dir>/lib/qmd`。
* `-r <renderer>` 或 `–render <renderer>`:设置目标渲染器。 默认为 `html`。 接受的值:`html`、`html-pdf`(相当于 `-r html –pdf`)。
* `–server-port <port>`:可选的本地 Web 服务器端口自定义。 默认为 8089。
* `–pretty`:生成漂亮的输出代码。 这对于调试或更轻松地读取输出代码很有用,但在生产中应禁用,因为结果可能会受到视觉影响。
* `–clean`:在生成新文件之前删除输出目录的内容。 破坏性操作。
* `–strict`:如果发生错误,强制程序退出。 如果未处于严格模式,则错误将显示为文档中的框。
* `–no-media-storage`:关闭媒体存储系统。
* `-Dloglevel=<level>` (JVM property):设置日志级别。 如果设置为 warning 或更高,则不会打印输出内容。
Quarkdown 提供了一个 Mock 文档,其中包含了该语言提供的各种视觉元素,非常适合探索和理解其主要功能。
**SEO 关键词:**
Quarkdown, Markdown排版, 书籍制作
**相关标签:**
Markdown, 排版, PDF
iamgio/quarkdown: 🪐 Markdown with superpowers — from ideas to presentations, articles and books.
https://github.com/iamgio/quarkdown
暂无评论内容