Builder API¶
- class sphinx.builders.Builder[源代码]¶
这是所有构建器的基础类.
它遵循这个基本工作流程:
可重写属性
这些属性应在构建器子类上设置:
- name = ''¶
构建器的名称,用于 -b 命令行选项.
- format = ''¶
生成器的输出格式,如果没有生成文档输出则为’’.
- epilog = ''¶
成功构建完成时发出的消息.这可以是一个带有以下键的 printf 样式模板字符串:
outdir
、project
- allow_parallel = False¶
允许并行 write_doc() 调用
- supported_remote_images = False¶
生成器可以生成在打开时可能获取外部图像的输出文档.
- supported_data_uri_images = False¶
构建器生成的文件格式允许使用数据URI嵌入图像.
- default_translator_class: type[nodes.NodeVisitor]¶
构建器的默认翻译器类.这可以通过
set_translator()
重写.
核心方法
这些方法是预定义的,通常不应被重写,因为它们构成了构建过程的核心:
- final build(docnames: Iterable[str] | None, summary: str | None = None, method: Literal['all', 'specific', 'update'] = 'update') None [源代码]¶
主要的构建方法,通常由特定的
build_*
方法调用.首先更新环境,然后调用
write()
.
- final read() list[str] [源代码]¶
(重新)读取自上次更新以来新增或更改的所有文件.
以标准格式存储所有环境文档名称(即使用 SEP 作为分隔符代替 os.path.sep).
- final write_doctree(docname: str, doctree: document, *, _cache: bool = True) None [源代码]¶
将 doctree 写入文件,以便在重新构建时用作缓存.
可重写方法
这些必须在构建器子类中实现:
- get_outdated_docs() str | Iterable[str] [源代码]¶
返回一个过时的输出文件的可迭代对象,或者一个描述更新构建将构建内容的字符串.
如果构建器不输出与源文件对应的单个文件,请在此处返回一个字符串.如果输出,则返回需要写入的这些文件的可迭代对象.
这些方法可以在构建器子类中被重写:
- write(build_docnames: Iterable[str] | None, updated_docnames: Sequence[str], method: Literal['all', 'specific', 'update'] = 'update') None [源代码]¶
写入特定生成器的输出文件.
- get_relative_uri(from_: str, to: str, typ: str | None = None) str [源代码]¶
返回两个源文件名之间的相对URI.
如果无法返回一个合理的 URI,可能会引发 environment.NoUri.
属性
可以从构建器实例调用的属性:
- events¶
一个
EventManager
对象.