DoxygenConfiguration

class documenteer.stackdocs.doxygen.DoxygenConfiguration(inputs: List[pathlib.Path] = <factory>, excludes: List[pathlib.Path] = <factory>, recursive: bool = True, file_patterns: List[str] = <factory>, exclude_patterns: List[str] = <factory>, exclude_symbols: List[str] = <factory>, project_name: str = 'The LSST Science Pipelines', project_brief: str = 'C++ API Reference', output_directory: pathlib.Path = <factory>, generate_html: bool = False, generate_latex: bool = False, tagfile: pathlib.Path = <factory>, generate_xml: bool = True, html_output: pathlib.Path = <factory>, use_mathjax: bool = True, mathjax_format: str = 'SVG', xml_output: pathlib.Path = <factory>, xml_programlisting: bool = False, create_subdirs: bool = False, full_path_names: bool = True, strip_from_path: List[pathlib.Path] = <factory>, enable_preprocessing: bool = True, macro_expansion: bool = True, expand_only_predef: bool = False, skip_function_macros: bool = False)

Bases: object

A restricted Doxygen configuration.

Rather than accomodating arbitrary Doxygen configurations, this class maintains the key configurations that are required for a Doxygen build that is intended to be incorporated into a Sphinx build. As such, this configuration file may ignore some configuration values when parsing a raw configuration file.

Notes

See http://www.doxygen.nl/manual/config.html for more details about Doxygen configurations.

Attributes Summary

create_subdirs

Whether Doxygen should create subdirectories.

enable_preprocessing

expand_only_predef

full_path_names

Doxygen keeps the full path of each file, rather than stripping it.

generate_html

Whether or not to generate HTML output.

generate_latex

Whether or not to generate LaTeX output.

generate_xml

Whether or not ot generate XML output.

macro_expansion

mathjax_format

Format of the MathJax output in the HTML build.

project_brief

Brief description (subtile) of the project.

project_name

Name of the Doxygen project (used in the HTML output).

recursive

Whether or not directories listed in inputs should be searched recursively.

skip_function_macros

use_mathjax

Enable MathJax to render math, rather than LaTeX.

xml_programlisting

Whether to include the program listing in the XML output.

Methods Summary

from_doxygen_conf(conf_text, root_dir)

Create a new DoxygenConfiguration from the the content of a doxygen.conf or doxygen.conf.in file.

render()

Render the Doxygen configuration file.

Attributes Documentation

create_subdirs: bool = False

Whether Doxygen should create subdirectories.

This should be NO for breathe/exhale to work.

enable_preprocessing: bool = True
expand_only_predef: bool = False
full_path_names: bool = True

Doxygen keeps the full path of each file, rather than stripping it.

generate_html: bool = False

Whether or not to generate HTML output.

generate_latex: bool = False

Whether or not to generate LaTeX output.

generate_xml: bool = True

Whether or not ot generate XML output.

macro_expansion: bool = True
mathjax_format: str = 'SVG'

Format of the MathJax output in the HTML build.

project_brief: str = 'C++ API Reference'

Brief description (subtile) of the project.

project_name: str = 'The LSST Science Pipelines'

Name of the Doxygen project (used in the HTML output).

recursive: bool = True

Whether or not directories listed in inputs should be searched recursively.

skip_function_macros: bool = False
use_mathjax: bool = True

Enable MathJax to render math, rather than LaTeX.

xml_programlisting: bool = False

Whether to include the program listing in the XML output.

Methods Documentation

classmethod from_doxygen_conf(conf_text, root_dir)

Create a new DoxygenConfiguration from the the content of a doxygen.conf or doxygen.conf.in file.

Parameters
conf_text

The text content of a doxygen.conf file.

root_dir

Directory containing the doxygen.conf file. This directory path is used to resolve any relative paths within the configuration file.

Returns
doxygen_configuration

A DoxygenConfiguration instance populated with configurations parsed from doxygen_conf.

Notes

Only select tags from the Doxygen configuration file are parsed and incorporated into the DoxygenConfiguration instance:

  • INPUT

  • EXCLUDE

  • EXCLUDE_PATTERNS

  • EXCLUDE_SYMBOLS

These are the only tags that individual packages should need to configure with respect to a stack-wide Doxygen build.

Return type

DoxygenConfiguration

render()

Render the Doxygen configuration file.

Returns
config_content

Text content of a doxygen configuration file.

Return type

str