我的第一个Quarkdown文档
这是一个使用Quarkdown创建的示例文档。
特性展示
- 支持复杂排版
- 支持函数编程
- 支持多文档类型
示例图片 这是一个图片示例
### 步骤4:预览文档
使用以下命令启动预览服务器:
```shell [点击复制]
quarkdown c main.qd -p -w
参数说明:
-c:编译文档-p:在浏览器中预览-w:监控文件变化并自动重新编译
预计耗时:30秒
步骤5:导出为PDF
如果需要将文档导出为PDF格式,可以使用以下命令:
quarkdown c main.qd --pdf
生成的PDF文件将保存在output目录中。
预计耗时:1-2分钟
常见问题
Q: 预览时中文显示乱码怎么办?
A: 这通常是由于缺少中文字体导致的。可以在_setup.qd中配置自定义字体,或安装系统级中文字体。
Q: 如何在文档中插入代码块?
A: Quarkdown支持标准的Markdown代码块语法,并增加了行号、高亮等增强功能:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Quarkdown!");
}
}
Q: 导出PDF时出现"Puppeteer未安装"错误?
A: 运行npm install puppeteer安装Puppeteer,这是PDF导出功能的依赖项。
个性化定制工作流:高级配置选项
Quarkdown提供了丰富的配置选项,让你可以根据自己的需求定制文档处理流程。
自定义渲染器
Quarkdown支持多种渲染器,可以通过-r参数指定:
quarkdown c document.qd -r html
支持的渲染器包括:
html:默认的HTML渲染html-pdf:生成HTML并导出PDF
服务器配置
自定义本地Web服务器设置:
quarkdown c document.qd -p --server-port 8090 -b firefox
--server-port:自定义端口(默认为8089)-b:指定预览使用的浏览器
配置文件定制
通过_setup.qd文件可以深度定制文档的各种属性:
// 设置页面大小和边距
@page {
size: A4;
margin: 2cm;
}
// 配置字体
@font {
family: "Noto Sans";
size: 12pt;
}
// 设置文档元数据
@metadata {
title: "我的文档";
author: "用户名";
date: "2023-01-01";
}
常见问题
Q: 如何自定义页面页眉页脚?
A: 可以在_setup.qd中使用@page规则配置页眉页脚:
@page {
@top-center {
content: "文档标题";
}
@bottom-right {
content: "第 " counter(page) " 页,共 " counter(pages) " 页";
}
}
Q: 如何更改代码块的样式?
A: 通过自定义CSS可以修改代码块样式,在_setup.qd中添加:
pre code {
background-color: #f5f5f5;
border-radius: 4px;
padding: 1em;
}
效率提升技巧:Quarkdown高级使用指南
多文件项目管理
对于大型项目,建议将内容分散到多个文件中,然后通过@include指令组合:
// main.qd
@include "chapters/introduction.qd"
@include "chapters/installation.qd"
@include "chapters/usage.qd"
这种方式可以使项目结构更清晰,便于团队协作和版本控制。
函数与变量
利用Quarkdown的编程能力,可以定义变量和函数来简化文档维护:
// 定义变量
@let author = "John Doe"
@let version = "1.0.0"
// 使用变量
本文档由 {{author}} 编写,版本 {{version}}。
// 定义函数
@func greet(name) {
return "Hello, " + name + "!"
}
// 使用函数
{{greet("Quarkdown用户")}}
条件编译
根据不同条件生成不同内容:
@let environment = "production"
@if environment == "development" {
// 开发环境特有内容
这是开发版本,包含调试信息。
} @else {
// 生产环境内容
这是正式版本。
}
表格生成
利用Quarkdown的表格生成功能,可以从数据动态生成表格:
@let people = [
{name: "Alice", age: 30, role: "Developer"},
{name: "Bob", age: 25, role: "Designer"},
{name: "Charlie", age: 35, role: "Manager"}
]
@table(people) {
columns: [
{header: "姓名", value: name},
{header: "年龄", value: age},
{header: "职位", value: role}
]
}
常见问题
Q: 如何在Quarkdown中创建幻灯片?
A: 将文档类型设置为slides即可创建幻灯片:
@document {
type: slides;
theme: "default";
}
# 幻灯片标题
这是一张幻灯片的内容。
---
# 第二张幻灯片
这是第二张幻灯片的内容。
Q: 如何使用Quarkdown创建学术引用和参考文献?
A: Quarkdown内置支持学术引用,你可以创建.bib文件管理参考文献,并在文档中使用@cite指令引用:
@bibliography {
source: "references.bib";
style: "ieee";
}
这是一个引用示例[@smith2020]。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0265
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0186
MaxKB强大易用的开源企业级智能体平台Python02
note-gen一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。TSX011