构建器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 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 -- 的 docname .
doctree -- 定义要写入的内容。
输出文件名必须在此方法中确定,通常通过调用
get_target_uri()
或get_relative_uri()
.
可推翻的方法
这些方法可以在生成器子类中重写:
- prepare_writing(docnames: Set[str]) None [源代码]¶
在此之前可以添加逻辑的地方
write_doc()
正在运行
- get_relative_uri(from_: str, to: str, typ: str | None = None) str [源代码]¶
返回两个源文件名之间的相对URI。
- 提出:
NoUri
如果无法返回合理的URI。
属性
可从构建器实例调用的属性:
- events¶
一个
EventManager
对象。
可覆盖属性(扩展)
生成器子类可以设置这些属性来支持内置扩展: