YakultPDF
YakultPDF 是一个基于 Pandoc 和 Typst 的 Markdown → PDF 工具库和命令行程序,面向中文报告、书籍、稿纸和 3:4 练习页。
- PyPI 包名:
yakultpdf - 命令行:
yakultpdf - Python 导入名:
mark2pdf
Markdown + 配置 → YakultPDF / Pandoc → Typst 模板 → PDF
系统要求
- Python 3.11+
- Pandoc
- Typst
完整安装方法见安装指引。
快速开始
安装 Python 包:
uv tool install yakultpdf
确认三个组件可用:
yakultpdf --version
pandoc --version
typst --version
准备 demo.md:
# 我的第一份 PDF
这是由 YakultPDF 生成的文档。
转换并使用输入文件名作为输出名:
yakultpdf convert demo.md --force-filename
独立模式会在当前目录生成 demo.pdf。更多内容见快速开始。
工作区
长期项目建议初始化工作区:
yakultpdf init my-docs
cd my-docs
yakultpdf convert index.md
工作区使用 mark2pdf.config.toml 管理输入、输出、模板和字体,PDF 默认写入 out/。
[paths]
in = "."
out = "out"
tmp = "tmp"
template = "template"
fonts = "fonts"
[options]
default_template = "nb"
withcover = false
overwrite = false
配置、Frontmatter 和封面规则见配置指南。
主要能力
- 单文件、目录合并和批量转换
- 工作区本地模板、字体和资源管理
- NB 模板的封面、目录、背景页、整页图片和 Mermaid
- 远程图片下载与 Markdown 资源结构迁移
- 简繁转换和 PDF 压缩
- classic / small 中文稿纸
- 简洁版和精装版 Worksheet 练习页
- Python API
文档
完整入口:YakultPDF 用户文档。
| 文档 | 内容 |
|---|---|
| 工作区使用指南 | 目录、资源和常用工作流 |
| CLI 命令参考 | 当前命令与参数 |
| 配置指南 | TOML、Frontmatter、模板和封面 |
| NB 模板语法 | 页面和组件扩展 |
| 稿纸模式 | classic、small 和着重号 |
| Worksheet 模板 | 五种练习页版式 |
| Python API | 程序化转换 |
| Docker 与 Web 服务 | 容器部署 |
Python API
from mark2pdf import convert_file
from mark2pdf.core import ConversionOptions
result = convert_file(
"input.md",
output_file="output.pdf",
options=ConversionOptions(overwrite=True, force_filename=True),
)
完整签名和目录转换示例见Python API 文档。
开发与测试
uv sync
uv run pytest
项目架构见 DEVELOPMENT.md,发布流程见 RELEASING.md。Agent 规则见 AGENTS.md。
License
MIT
Metadata
Release files for yakultpdf 0.10.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| yakultpdf-0.10.3.tar.gz | 10.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yakultpdf-0.10.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.8 MB
Release files / yakultpdf-0.10.3.tar.gz
| Download URL | yakultpdf-0.10.3.tar.gz |
|---|---|
| Size | 10.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
983154ba25062219690edd7443be3c391bd42cc8451a2a6c58b3a60c68dba064
|
|
BLAKE2b-256 checksum How to use checksums |
fc4f70109b7dfebae3b77d9c33f905bfd481b13e605f66d05220d1e80dda68d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|
Release files / yakultpdf-0.10.3-py3-none-any.whl
| Download URL | yakultpdf-0.10.3-py3-none-any.whl |
|---|---|
| Size | 410.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf6ee4da310b18254148e1f9fec08e8a2760b4b2c52b090f3c15c1fefe9b109d
|
|
BLAKE2b-256 checksum How to use checksums |
4bb9c62cfd5b4068bad83480918e6422fa365066a178e67fa94b83a5f4334dcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.9
|