Styles¶
SectionDoc comes with the following predefined rendering styles
Note
- The default rendering style is currently
default
Extending¶
Custom styles can be created by instanciating a Style
to
map a DocRender
factory for each type of object rendered by
autodoc. For example adding the following functions in you conf.py
defines a rendering style for functions and methods:
def function_section(lines):
return DocRender(
lines,
sections={
'Returns': (item_list, ListItem, OrDefinitionItem),
'Arguments': (arguments, Argument, OrDefinitionItem),
'Parameters': (arguments, Argument, OrDefinitionItem),
'Raises': (item_list, ListItem, OrDefinitionItem),
'Yields': (item_list, ListItem, OrDefinitionItem),
'Notes': (notes_paragraph, None, None)})
def setup(app):
style = Style({
'function': function_section,
'method': function_section})
app.setup_extension('sphinx.ext.autodoc')
app.connect('autodoc-process-docstring', style.render_docstring)
Specifically the Style
instance will map the function
and method
docstrings to the dostring rendering funtion
function_section
. The DocRender
will then detect the
sections Returns, Arguments, Parameters, Raises, Yields, Notes
and
use the mapped combination of section rendering function, Item description
and item rendering type to render the detected section in-place.
The rendering styles can be further extented by implemeting new Item, Renderer instances or section rendering functions.