Display any generated static API documentation in a sidebar
Project description
Sphinx API Sidebar
A Sphinx extension for displaying any generated static API documentation in a sidebar.
Overview
This Sphinx extension allows you to include and display static API documentation (e.g., JavaDoc
, Doxygen
) in the sidebar of your Sphinx documentation. It updates the html_context
with the API documentation paths, which can then be used in the API sidebar template.
This extension serves as an immediate workaround to make Sphinx consume API docs from various languages without building additional extensions.
Installation
To install the sphinx-api-sidebar
extension, you can use pip:
pip install sphinx-api-sidebar
Usage
- To enable the sphinx-api-sidebar extension in your Sphinx documentation project, add it to the extensions list in your conf.py file:
extensions = [
'sphinx_api_sidebar',
# Other extensions...
]
- To use a custom command to generate your API documentation or specify different directories, you can set the api_docs_generator configuration value in your conf.py file:
api_docs_generator = [
{
'command': '<your_api_docs_build_command_1>',
'outputs': [
{
'name': '<generated_api_doc_name_1>',
'path': '<path_to_generated_api_doc_1>'
},
{
'name': '<generated_api_doc_name_2>',
'path': '<path_to_generated_api_doc_2>'
},
# ...
]
},
{
'command': '<your_custom_build_command_2>',
'outputs': [
{
'name': '<generated_api_doc_name_3>',
'path': '<path_to_generated_api_doc_3>'
},
# ...
]
},
# more groups of generated api docs
]
Replace <your_custom_build_command_>, <generated_api_doc_name_>, and <path_to_generated_api_doc_*> with the appropriate values for your project.
- To make the different api documentation show up in the sidebar, you will need to copy the
api_docs_sidebar.html
template file from thesphinx_api_sidebar/templates
folder of the installed package to your Sphinx project's _templates folder. Alternatively, you can create a new file in your project's _templates folder with the following content:
{% if api_docs %}
<h3>{{ _('API Documentation') }}</h3>
<ul style="list-style-type: none;">
{%- for item in api_docs %}
<li style="margin-bottom: 10px;"><a href="{{ pathto('_static/api-docs/{}'.format(item), 1) }}">{{ item }}</a></li>
{%- endfor %}
</ul>
{% endif %}
- Update your
conf.py
file to include theapi_docs_sidebar.html
template in the html_sidebars configuration:
html_sidebars = {
'**': [
# ... other sidebars ...
'api_docs_sidebar.html',
]
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sphinx_api_sidebar-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c5d4bc65b1f9fe9bacd49905c821ce1ae242e92c2de114747e358b9f13190c6 |
|
MD5 | ec39d9ea9179be46faa6b7fd10ab44cc |
|
BLAKE2b-256 | 935650be7c6b613def94935f1fa8a5d0864ed3309e37d83dd5d1616b22bcefe5 |