Skip to main content

Markdown to PDF converter using Pandoc and Typst

Project description

mark2pdf (yakultpdf)

基于 Pandoc 和 Typst 的 Markdown 转 PDF 专业工具链

Mark2pdf 是一个强大的文档转换工具,旨在将 Markdown 文件转换为排版精美的 PDF 文档。它支持类似 Hugo/Jekyll 的工作区管理、Frontmatter 配置以及高度可定制的 Typst 模板系统。

⚠️ 注意: 本项目在 PyPI 上包名为 markdown2pdf,但命令行工具名为 mark2pdf

🚀 快速开始

1. 安装

pip install markdown2pdf

2. 初始化工作区 (推荐)

我们强烈建议使用工作区模式来管理你的文档项目:

mkdir my-docs && cd my-docs
mark2pdf init .

这将创建标准目录结构 (in/, out/, mark2pdf.config.toml 等)。

3. 开始转换

将 Markdown 文件放入 in/ 目录,然后运行:

mark2pdf convert

生成的 PDF 将出现在 out/ 目录中。


📚 文档导航

所有详细文档均位于 ./docs 目录:


✨ 核心特性

  • 工作区管理: 自动管理输入输出路径、模板与资源。
  • 智能图片处理: 自动下载远程图片、微信公众号图片修复、本地路径重写。
  • 混合排版: 支持标准 Markdown 与 Typst 语法混合使用。
  • 多模式转换: 支持单文件转换、目录合并转换、批量转换。
  • 中文优化: 内置简繁转换、常用中文字体下载与管理。
  • 稿纸模式: 特有的 gaozhi 转换器,生成书写练习稿纸。

🐍 Python API

也可以在 Python 代码中直接使用:

from markdown2pdf import convert_file

# 单文件转换
convert_file("input.md", output_file="output.pdf")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yakultpdf-0.7.36.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yakultpdf-0.7.36-py3-none-any.whl (291.1 kB view details)

Uploaded Python 3

File details

Details for the file yakultpdf-0.7.36.tar.gz.

File metadata

  • Download URL: yakultpdf-0.7.36.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for yakultpdf-0.7.36.tar.gz
Algorithm Hash digest
SHA256 45dce71cae0b6272a4999aaf097d27ddc69f27242db05d1cfefc9ecc3fef4051
MD5 e15087650ce5f38babe9166ca8771add
BLAKE2b-256 bbd19ab7212648d1d2385beb15de2b02fea7141269314e01ba79f85e3e31ba3c

See more details on using hashes here.

File details

Details for the file yakultpdf-0.7.36-py3-none-any.whl.

File metadata

  • Download URL: yakultpdf-0.7.36-py3-none-any.whl
  • Upload date:
  • Size: 291.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for yakultpdf-0.7.36-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b67c3534f5d78601056beaaa22ac55b5775924cf0ff3bed4bdd3557bae963b
MD5 01be964fb7ecdd1f750cc7c6b18f1a30
BLAKE2b-256 8dcdf5a7fa9198b3f8bbd7bcd22f86a5fec03626a171700e63b4e46c115b2c91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page