Writing new builders
Todo
Expand this.
- class sphinx.builders.Builder
This is the base class for all builders.
These methods are predefined and will be called from the application:
- get_relative_uri(from_, to, typ=None)
Return a relative URI between two source filenames.
May raise environment.NoUri if there’s no way to return a sensible URI.
- build_all()
Build all source files.
- build_specific(filenames)
Only rebuild as much as needed for changes in the filenames.
- build_update()
Only rebuild what was changed or added since last build.
- build(docnames, summary=None, method='update')
Main build method.
First updates the environment, and then calls write().
These methods can be overridden in concrete builder classes:
- init()
Load necessary templates and perform initialization. The default implementation does nothing.
- get_outdated_docs()
Return an iterable of output files that are outdated, or a string describing what an update build will build.
If the builder does not output individual files corresponding to source files, return a string here. If it does, return an iterable of those files that need to be written.
- get_target_uri(docname, typ=None)
Return the target URI for a document name.
typ can be used to qualify the link characteristic for individual builders.
- prepare_writing(docnames)
A place where you can add logic before write_doc() is run
- write_doc(docname, doctree)
Where you actually write something to the filesystem.
- finish()
Finish the building process.
The default implementation does nothing.