Configuration Extension

As for all nmk projects config items, nmk-doc ones are all overridable by other plug-ins and project files. But the ones described on this page are specifically designed to be extended.

Documentation inputs

Plugins which support documentation generation from source code should extend the ${docInputs} config item, in order to trigger documentation rebuild if source code is modified.

Example:

docInputs:
  - file.py
  - ${someVarResolvingAllPyFiles}

Sphinx extensions

Plugins and/or project may want to enable sphinx extensions, in addition to the default ones. The following items may be extended for this purpose:

  • ${docExtensions}: List of enabled sphinx extensions. Example:

    docExtensions:
      - breathe
    
  • ${docExtensionsVenvDeps}: List of python modules to be installed in the project venv in order to support the enabled extensions. Example:

    docExtensionsVenvDeps:
      - breathe
    
  • ${docExtraConfig}: Dictionnary of additional sphinx config parameters, to be added to the generated configuration file. Example:

    docExtraConfig:
      configName: value
    

Doc snippets

Plugins and/or project may want to include some generated snippets in their documentation. They can define snippets by contributing to the ${docSnippets} item.

Example:

docSnippets:
  example_snippet.txt: "${venvBin}/nmk --help"