基于 reStructuredText 的 Python 文档生成工具,可输出 HTML、PDF、EPUB 等多种格式。
adamchainz/blacken-docs
一个命令行工具,用 Black 格式化 Markdown、reStructuredText 和 LaTeX 文档中的 Python 代码块。
- Star
- 680
- Fork
- 46
- 未关闭 Issue
- 18
- 最近提交
- 3天前
这是什么?
blacken-docs 会重写文档中嵌入的 Python 示例代码,使其与项目其他代码保持相同的格式。它支持 Markdown 和 reStructuredText 中的 python、pycon 代码块,LaTeX 中的 minted 与 PythonTeX 代码块,以及 Python 文档字符串中的 Markdown 或 reST 代码块。
工具直接原地修改传入的文件,文件有改动时以非零状态码退出,因此很适合放进 CI 或作为 pre-commit 钩子使用。Black 的行长度、目标版本、跳过字符串规范化等选项都可以透传,--check 模式则只报告需要修改的地方而不改动文件。
若某个代码块不希望被格式化,可以用 blacken-docs:off 和 blacken-docs:on 注释将其包围。由于 Black 版本会不断变化,建议在 pre-commit 配置中固定 Black 的版本。
核心功能
- 01格式化 Markdown 与 reStructuredText 文件中的 python 和 pycon 代码块
- 02处理 LaTeX 文档中的 minted 和 PythonTeX 代码块
- 03重新格式化 Python 文档字符串中的 Markdown 和 reST 代码示例
- 04提供 --check 模式,文件有改动时以非零状态码退出
- 05可作为 pre-commit 钩子使用,并支持固定 Black 版本
适用场景
- 保持项目 README 或 Markdown 文档中的 Python 代码片段格式统一
- 统一基于 Sphinx 的 reStructuredText 文档中的代码示例格式
- 在 CI 或 pre-commit 中检查文档代码格式,合并前自动拦截问题
快速上手
- 1
使用 pip 安装 blacken-docs
python -m pip install blacken-docs - 2
对文档文件运行 blacken-docs
blacken-docs README.rst
使用前须知
- 仅格式化 Markdown、reStructuredText 和 LaTeX 文件中的 Python 代码块。
- 不会递归遍历目录,需要传入文件名或使用通配符或 pre-commit。
收录于专题
标签
常见问题
- blacken-docs 是什么?
- 一个命令行工具,用 Black 格式化 Markdown、reStructuredText 和 LaTeX 文档中的 Python 代码块。 blacken-docs 会重写文档中嵌入的 Python 示例代码,使其与项目其他代码保持相同的格式。它支持 Markdown 和 reStructuredText 中的 python、pycon 代码块,LaTeX 中的 minted 与 PythonTeX 代码块,以及 Python 文档字符串中的 Markdown 或 reST 代码块。
- blacken-docs 可以免费使用吗?用的什么许可证?
- blacken-docs 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- blacken-docs 还在维护吗?
- 活跃维护中。blacken-docs 最近一次提交是在 2026年11月4日。
- blacken-docs 适合用来做什么?
- 保持项目 README 或 Markdown 文档中的 Python 代码片段格式统一 统一基于 Sphinx 的 reStructuredText 文档中的代码示例格式 在 CI 或 pre-commit 中检查文档代码格式,合并前自动拦截问题
- blacken-docs 怎么安装和运行?
- 使用 pip 安装 blacken-docs: python -m pip install blacken-docs 对文档文件运行 blacken-docs: blacken-docs README.rst
- 在哪里获取 blacken-docs?
- 源代码和安装说明在 GitHub 上:https://github.com/adamchainz/blacken-docs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款命令行工具,可直接对 Jupyter Notebook 运行 ruff、isort、black、mypy、flake8 等 Python 代码检查与格式化工具。
一款无需构建过程、可将 Markdown 文件直接转为文档网站的工具。
基于 TypeScript 的文档框架,可从 Markdown/MDX 生成文档站点,并支持 OpenAPI 与 GraphQL 接口文档。
一个 Python 工具和 pre-commit 钩子,可自动为多行调用、字面量和定义补全末尾逗号。
基于 Markdown 文件的扁平文件 CMS,用于构建说明类网站和电子书,无需数据库。