构建器 API¶
- class sphinx.builders.Builder[源代码]¶
这是所有构建器的基类。
它遵循以下基本工作流程
标准 Sphinx 构建工作流程的调用图¶
可重写的属性
这些类属性应在构建器子类上设置
- format: str = ''¶
构建器的输出格式,如果没有生成文档输出,则为 ''。这通常是文件扩展名,例如 “html”,尽管接受任何字符串值。构建器的格式字符串可以被各种组件使用,例如
SphinxPostTransform
或扩展,以确定它们与构建器的兼容性。
- allow_parallel: bool = False¶
是否可以安全地进行并行
write_doc()
调用。
- 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 写入文件,以用作重新构建的缓存。
- final write(build_docnames: Iterable[str] | None, updated_docnames: Iterable[str], method: Literal['all', 'specific', 'update'] = 'update') None [源代码]¶
写入构建器特定的输出文件。
抽象方法
这些必须在构建器子类中实现
- get_outdated_docs() str | Iterable[str] [源代码]¶
返回已过时的输出文件的可迭代对象,或描述更新构建将构建的内容的字符串。
如果构建器不输出与源文件对应的单个文件,则在此处返回一个字符串。如果它这样做,则返回需要写入的那些文件的可迭代对象。
- write_doc(docname: str, doctree: document) None [源代码]¶
为文档写入输出文件
- 参数:
docname – 文档名。
doctree – 定义要写入的内容。
输出文件名必须在此方法中确定,通常通过调用
get_target_uri()
或get_relative_uri()
。
可重写的方法
这些方法可以在构建器子类中重写
- get_relative_uri(from_: str, to: str, typ: str | None = None) str [源代码]¶
返回两个源文件名之间的相对 URI。
- 引发:
NoUri
如果无法返回合理的 URI,则引发 NoUri。
属性
可以从构建器实例调用的属性
- events¶
一个
EventManager
对象。
可重写的属性(扩展)
构建器子类可以设置这些属性以支持内置扩展