Method | add_autodoc_attrgetter |
Register a new getattr-like function for the autodoc extension. |
Method | add_autodocumenter |
Register a new documenter class for the autodoc extension. |
Method | add_builder |
Register a new builder. |
Method | add_config_value |
Register a configuration value. |
Method | add_crossref_type |
Register a new crossref object type. |
Method | add_css_file |
Register a stylesheet to include in the HTML output. |
Method | add_directive |
Register a Docutils directive. |
Method | add_directive_to_domain |
Register a Docutils directive in a domain. |
Method | add_domain |
Register a domain. |
Method | add_enumerable_node |
Register a Docutils node class as a numfig target. |
Method | add_env_collector |
Register an environment collector class. |
Method | add_event |
Register an event called name. |
Method | add_generic_role |
Register a generic Docutils role. |
Method | add_html_math_renderer |
Register a math renderer for HTML. |
Method | add_html_theme |
Register a HTML Theme. |
Method | add_index_to_domain |
Register a custom index for a domain. |
Method | add_js_file |
Register a JavaScript file to include in the HTML output. |
Method | add_latex_package |
Register a package to include in the LaTeX source code. |
Method | add_lexer |
Register a new lexer for source code. |
Method | add_message_catalog |
Register a message catalog. |
Method | add_node |
Register a Docutils node class. |
Method | add_object_type |
Register a new object type. |
Method | add_post_transform |
Register a Docutils transform to be applied before writing. |
Method | add_role |
Register a Docutils role. |
Method | add_role_to_domain |
Register a Docutils role in a domain. |
Method | add_search_language |
Register a new language for the HTML search index. |
Method | add_source_parser |
Register a parser class. |
Method | add_source_suffix |
Register a suffix of source files. |
Method | add_transform |
Register a Docutils transform to be applied after parsing. |
Method | connect |
Register callback to be called when event is emitted. |
Method | disconnect |
Unregister callback by listener_id. |
Method | emit |
Emit event and pass arguments to the callback functions. |
Method | emit_firstresult |
Emit event and pass arguments to the callback functions. |
Method | is_parallel_allowed |
Check whether parallel processing is allowed or not. |
Method | require_sphinx |
Check the Sphinx version if requested. |
Method | set_translator |
Register or override a Docutils translator class. |
Method | setup_extension |
Import and setup a Sphinx extension module. |
Instance Variable | confdir |
Directory containing conf.py. |
Instance Variable | doctreedir |
Directory for storing pickled doctrees. |
Instance Variable | outdir |
Directory for storing build documents. |
Instance Variable | project |
Undocumented |
Instance Variable | srcdir |
Directory containing source. |
Method | __init__ |
Undocumented |
Method | _init_builder |
Undocumented |
Method | _init_env |
Undocumented |
Method | _init_i18n |
Load translated strings from the configured localedirs if enabled in the configuration. |
Method | add_stylesheet |
An alias of add_css_file . |
Method | build |
Undocumented |
Method | create_builder |
Undocumented |
Method | preload_builder |
Undocumented |
Method | set_html_assets_policy |
Set the policy to include assets in HTML pages. |
Instance Variable | _status |
Undocumented |
Instance Variable | _warncount |
Undocumented |
Instance Variable | _warning |
Undocumented |
Instance Variable | builder |
Undocumented |
Instance Variable | config |
Undocumented |
Instance Variable | env |
Undocumented |
Instance Variable | events |
Undocumented |
Instance Variable | extensions |
Undocumented |
Instance Variable | keep_going |
Undocumented |
Instance Variable | messagelog |
Undocumented |
Instance Variable | parallel |
Undocumented |
Instance Variable | phase |
Undocumented |
Instance Variable | quiet |
Undocumented |
Instance Variable | registry |
Undocumented |
Instance Variable | statuscode |
Undocumented |
Instance Variable | tags |
Undocumented |
Instance Variable | translator |
Undocumented |
Instance Variable | verbosity |
Undocumented |
Instance Variable | warningiserror |
Undocumented |
Property | html_themes |
Undocumented |
Register a new getattr-like function for the autodoc extension.
Add getter, which must be a function with an interface compatible to
the getattr
builtin, as the autodoc attribute getter for
objects that are instances of typ. All cases where autodoc needs to
get an attribute of a type are then handled by this function instead of
getattr
.
Parameters | |
typ:Type | Undocumented |
getter:Callable[ | Undocumented |
Register a new documenter class for the autodoc extension.
Add cls as a new documenter class for the sphinx.ext.autodoc
extension. It must be a subclass of
sphinx.ext.autodoc.Documenter
. This allows auto-documenting
new types of objects. See the source of the autodoc module for
examples on how to subclass Documenter
.
If override is True, the given cls is forcedly installed even if a documenter having the same name is already installed.
See :ref:`autodoc_ext_tutorial`.
Parameters | |
cls:Any | Undocumented |
override:bool | Undocumented |
Register a new builder.
Parameters | |
builder:Type[ | A builder class |
override:bool | If true, install the builder forcedly even if another builder is already installed as the same name |
Register a configuration value.
This is necessary for Sphinx to recognize new values and set default values accordingly.
Parameters | |
name:str | The name of the configuration value. It is recommended to be prefixed with the extension name (ex. html_logo, epub_title) |
default:Any | The default value of the configuration. |
rebuild:Union[ | The condition of rebuild. It must be one of those values:
|
types:Any | The type of configuration value. A list of types can be specified. For example, [str] is used to describe a configuration that takes string value. |
Register a new crossref object type.
This method is very similar to add_object_type
except that the
directive it generates must be empty, and will produce no output.
That means that you can add semantic targets to your sources, and refer to them using custom roles instead of generic ones (like :rst:role:`ref`). Example call:
app.add_crossref_type('topic', 'topic', 'single: %s', docutils.nodes.emphasis)
Example usage:
.. topic:: application API The application API ------------------- Some random text here. See also :topic:`this section <application API>`.
(Of course, the element following the topic directive needn't be a section.)
If override is True, the given crossref_type is forcedly installed even if a crossref_type having the same name is already installed.
Parameters | |
directivename:str | Undocumented |
rolename:str | Undocumented |
indextemplate:str | Undocumented |
ref_nodeclass:Type[ | Undocumented |
objname:str | Undocumented |
override:bool | Undocumented |
Register a stylesheet to include in the HTML output.
Example:
app.add_css_file('custom.css') # => <link rel="stylesheet" href="_static/custom.css" type="text/css" /> app.add_css_file('print.css', media='print') # => <link rel="stylesheet" href="_static/print.css" # type="text/css" media="print" /> app.add_css_file('fancy.css', rel='alternate stylesheet', title='fancy') # => <link rel="alternate stylesheet" href="_static/fancy.css" # type="text/css" title="fancy" />
Priority | Main purpose in Sphinx |
200 | default priority for built-in CSS files |
500 | default priority for extensions |
800 | default priority for :confval:`html_css_files` |
A CSS file can be added to the specific HTML page when an extension calls this method on :event:`html-page-context` event.
Parameters | |
filename:str | The filename of the CSS file. It must be relative to the HTML static path, or a full URI with scheme. |
priority:int | The priority to determine the order of <link> tag for the CSS files. See list of "prority range for CSS files" below. If the priority of the CSS files it the same as others, the CSS files will be loaded in order of registration. |
**kwargs:Any | Extra keyword arguments are included as attributes of the <link> tag. |
Register a Docutils directive.
For example, a custom directive named my-directive would be added like this:
from docutils.parsers.rst import Directive, directives class MyDirective(Directive): has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = { 'class': directives.class_option, 'name': directives.unchanged, } def run(self): ... def setup(app): app.add_directive('my-directive', MyDirective)
For more details, see the Docutils docs .
Parameters | |
name:str | The name of the directive |
cls:Type[ | A directive class |
override:bool | If true, install the directive forcedly even if another directive is already installed as the same name |
Register a Docutils directive in a domain.
Like add_directive
, but the directive is added to the domain
named domain.
Parameters | |
domain:str | The name of target domain |
name:str | A name of directive |
cls:Type[ | A directive class |
override:bool | If true, install the directive forcedly even if another directive is already installed as the same name |
Register a domain.
Parameters | |
domain:Type[ | A domain class |
override:bool | If true, install the domain forcedly even if another domain is already installed as the same name |
Register a Docutils node class as a numfig target.
Sphinx numbers the node automatically. And then the users can refer it using :rst:role:`numref`.
Parameters | |
node:Type[ | A node class |
figtype:str | The type of enumerable nodes. Each figtype has individual numbering sequences. As system figtypes, figure, table and code-block are defined. It is possible to add custom nodes to these default figtypes. It is also possible to define new custom figtype if a new figtype is given. |
title_getter:TitleGetter | A getter function to obtain the title of node. It takes an instance of the enumerable node, and it must return its title as string. The title is used to the default title of references for :rst:role:`ref`. By default, Sphinx searches docutils.nodes.caption or docutils.nodes.title from the node as a title. |
override:bool | If true, install the node forcedly even if another node is already installed as the same name |
**kwargs:Tuple[ | Visitor functions for each builder (same as add_node ) |
Register an environment collector class.
Refer to :ref:`collector-api`.
Parameters | |
collector:Type[ | Undocumented |
Register an event called name.
This is needed to be able to emit it.
Parameters | |
name:str | The name of the event |
Register a generic Docutils role.
Register a Docutils role that does nothing but wrap its contents in the node given by nodeclass.
If override is True, the given nodeclass is forcedly installed even if a role named as name is already installed.
Parameters | |
name:str | Undocumented |
nodeclass:Any | Undocumented |
override:bool | Undocumented |
Register a math renderer for HTML.
The name is a name of math renderer. Both inline_renderers and
block_renderers are used as visitor functions for the HTML writer:
the former for inline math node (nodes.math), the latter for
block math node (nodes.math_block). Regarding visitor functions,
see add_node
for details.
Parameters | |
name:str | Undocumented |
inline_renderers:Tuple[ | Undocumented |
block_renderers:Tuple[ | Undocumented |
Register a HTML Theme.
The name is a name of theme, and theme_path is a full path to the theme (refs: :ref:`distribute-your-theme`).
Parameters | |
name:str | Undocumented |
theme_path:str | Undocumented |
Register a custom index for a domain.
Add a custom index class to the domain named domain.
Parameters | |
domain:str | The name of the target domain |
index:Type[ | The index class |
override:bool | If true, install the index forcedly even if another index is already installed as the same name |
Register a JavaScript file to include in the HTML output.
Example:
app.add_js_file('example.js') # => <script src="_static/example.js"></script> app.add_js_file('example.js', loading_method="async") # => <script src="_static/example.js" async="async"></script> app.add_js_file(None, body="var myVariable = 'foo';") # => <script>var myVariable = 'foo';</script>
Priority | Main purpose in Sphinx |
200 | default priority for built-in JavaScript files |
500 | default priority for extensions |
800 | default priority for :confval:`html_js_files` |
A JavaScript file can be added to the specific HTML page when an extension calls this method on :event:`html-page-context` event.
Parameters | |
filename:str | The filename of the JavaScript file. It must be relative to the HTML static path, a full URI with scheme, or None value. The None value is used to create inline <script> tag. See the description of kwargs below. |
priority:int | The priority to determine the order of <script> tag for JavaScript files. See list of "prority range for JavaScript files" below. If the priority of the JavaScript files it the same as others, the JavaScript files will be loaded in order of registration. |
loading_method:Optional[ | The loading method of the JavaScript file. 'async' or 'defer' is allowed. |
**kwargs:Any | Extra keyword arguments are included as attributes of the <script> tag. A special keyword argument body is given, its value will be added between the <script> tag. |
Register a package to include in the LaTeX source code.
Add packagename to the list of packages that LaTeX source code will
include. If you provide options, it will be taken to the usepackage
declaration. If you set after_hyperref truthy, the package will be
loaded after hyperref package.
app.add_latex_package('mypackage') # => \usepackage{mypackage} app.add_latex_package('mypackage', 'foo,bar') # => \usepackage[foo,bar]{mypackage}
Parameters | |
packagename:str | Undocumented |
options:str | Undocumented |
after_hyperref:bool | Undocumented |
Register a new lexer for source code.
Use lexer to highlight code blocks with the given language alias.
Parameters | |
alias:str | Undocumented |
lexer:Type[ | Undocumented |
Register a message catalog.
For more details, see sphinx.locale.get_translation()
.
Parameters | |
catalog:str | The name of the catalog |
locale_dir:str | The base path of the message catalog |
Register a Docutils node class.
This is necessary for Docutils internals. It may also be used in the future to validate nodes in the parsed documents.
Node visitor functions for the Sphinx HTML, LaTeX, text and manpage
writers can be given as keyword arguments: the keyword should be one or
more of 'html', 'latex', 'text', 'man', 'texinfo'
or any other supported translators, the value a 2-tuple of (visit,
depart) methods. depart can be None if the visit
function raises docutils.nodes.SkipNode
. Example:
class math(docutils.nodes.Element): pass def visit_math_html(self, node): self.body.append(self.starttag(node, 'math')) def depart_math_html(self, node): self.body.append('</math>') app.add_node(math, html=(visit_math_html, depart_math_html))
Obviously, translators for which you don't specify visitor methods will choke on the node when encountered in a document to translate.
Parameters | |
node:Type[ | A node class |
override:bool | If true, install the node forcedly even if another node is already installed as the same name |
**kwargs:Tuple[ | Visitor functions for each builder (see below) |
Register a new object type.
This method is a very convenient way to add a new :term:`object` type that can be cross-referenced. It will do this:
For example, if you have this call in a custom Sphinx extension:
app.add_object_type('directive', 'dir', 'pair: %s; directive')
you can use this markup in your documents:
.. rst:directive:: function Document a function. <...> See also the :rst:dir:`function` directive.
For the directive, an index entry will be generated as if you had prepended
.. index:: pair: function; directive
The reference node will be of class literal (so it will be rendered in a proportional font, as appropriate for code) unless you give the ref_nodeclass argument, which must be a docutils node class. Most useful are docutils.nodes.emphasis or docutils.nodes.strong -- you can also use docutils.nodes.generated if you want no further text decoration. If the text should be treated as literal (e.g. no smart quote replacement), but not have typewriter styling, use sphinx.addnodes.literal_emphasis or sphinx.addnodes.literal_strong.
For the role content, you have the same syntactical possibilities as for standard Sphinx roles (see :ref:`xref-syntax`).
If override is True, the given object_type is forcedly installed even if an object_type having the same name is already installed.
Parameters | |
directivename:str | Undocumented |
rolename:str | Undocumented |
indextemplate:str | Undocumented |
parse_node:Callable | Undocumented |
ref_nodeclass:Type[ | Undocumented |
objname:str | Undocumented |
doc_field_types:List | Undocumented |
override:bool | Undocumented |
Register a Docutils transform to be applied before writing.
Add the standard docutils Transform
subclass transform to
the list of transforms that are applied before Sphinx writes a
document.
Parameters | |
transform:Type[ | A transform class |
Register a Docutils role.
For more details about role functions, see the Docutils docs .
Parameters | |
name:str | The name of role |
role:Any | A role function |
override:bool | If true, install the role forcedly even if another role is already installed as the same name |
Register a Docutils role in a domain.
Like add_role
, but the role is added to the domain named
domain.
Parameters | |
domain:str | The name of the target domain |
name:str | The name of the role |
role:Union[ | The role function |
override:bool | If true, install the role forcedly even if another role is already installed as the same name |
Register a new language for the HTML search index.
Add cls, which must be a subclass of
sphinx.search.SearchLanguage
, as a support language for
building the HTML full-text search index. The class must have a lang
attribute that indicates the language it should be used for. See
:confval:`html_search_language`.
Parameters | |
cls:Any | Undocumented |
Register a parser class.
If override is True, the given parser is forcedly installed even if a parser for the same suffix is already installed.
add_source_suffix
API to register suffix instead.Parameters | |
parser:Type[ | Undocumented |
override:bool | Undocumented |
Register a suffix of source files.
Same as :confval:`source_suffix`. The users can override this using the config setting.
If override is True, the given suffix is forcedly installed even if the same suffix is already installed.
Parameters | |
suffix:str | Undocumented |
filetype:str | Undocumented |
override:bool | Undocumented |
Register a Docutils transform to be applied after parsing.
Add the standard docutils Transform
subclass transform to
the list of transforms that are applied after Sphinx parses a reST
document.
Priority | Main purpose in Sphinx |
0-99 | Fix invalid nodes by docutils. Translate a doctree. |
100-299 | Preparation |
300-399 | early |
400-699 | main |
700-799 | Post processing. Deadline to modify text and referencing. |
800-899 | Collect referencing and referenced nodes. Domain processing. |
900-999 | Finalize and clean up. |
refs: Transform Priority Range Categories
Parameters | |
transform:Type[ | A transform class |
Register callback to be called when event is emitted.
For details on available core events and the arguments of callback functions, please see :ref:`events`.
Parameters | |
event:str | The name of target event |
callback:Callable | Callback function for the event |
priority:int | The priority of the callback. The callbacks will be invoked in order of priority (ascending). |
Returns | |
int | A listener ID. It can be used for disconnect . |
Parameters | |
listener_id:int | A listener_id that connect returns |
Emit event and pass arguments to the callback functions.
Return the return values of all callbacks as a list. Do not emit core Sphinx events in extensions!
Parameters | |
event:str | The name of event that will be emitted |
*args:Any | The arguments for the event |
allowed_exceptions:Tuple[ | The list of exceptions that are allowed in the callbacks |
Returns | |
List | Undocumented |
Emit event and pass arguments to the callback functions.
Return the result of the first callback that doesn't return None.
Parameters | |
event:str | The name of event that will be emitted |
*args:Any | The arguments for the event |
allowed_exceptions:Tuple[ | The list of exceptions that are allowed in the callbacks |
Returns | |
Any | Undocumented |
Parameters | |
typ:str | A type of processing; 'read' or 'write'. |
Returns | |
bool | Undocumented |
Check the Sphinx version if requested.
Compare version with the version of the running Sphinx, and abort the build when it is too old.
Parameters | |
version:str | The required version in the form of major.minor. |
Register or override a Docutils translator class.
This is used to register a custom output translator or to replace a
builtin translator. This allows extensions to use a custom translator
and define custom nodes for the translator (see add_node
).
Parameters | |
name:str | The name of the builder for the translator |
translator_class:Type[ | A translator class |
override:bool | If true, install the translator forcedly even if another translator is already installed as the same name |
Import and setup a Sphinx extension module.
Load the extension given by the module name. Use this if your extension needs the features provided by another extension. No-op if called twice.
Parameters | |
extname:str | Undocumented |
sphinx.testing.util.SphinxTestApp
Undocumented
Parameters | |
srcdir:str | Undocumented |
confdir:Optional[ | Undocumented |
outdir:str | Undocumented |
doctreedir:str | Undocumented |
buildername:str | Undocumented |
confoverrides:Dict | Undocumented |
status:IO | Undocumented |
warning:IO | Undocumented |
freshenv:bool | Undocumented |
warningiserror:bool | Undocumented |
tags:List[ | Undocumented |
verbosity:int | Undocumented |
parallel:int | Undocumented |
keep_going:bool | Undocumented |
An alias of add_css_file
.
Parameters | |
filename:str | Undocumented |
alternate:bool | Undocumented |
title:str | Undocumented |
Undocumented
Parameters | |
force_all:bool | Undocumented |
filenames:List[ | Undocumented |
Undocumented
Parameters | |
name:str | Undocumented |
Returns | |
Builder | Undocumented |