From 0c19a79fbdafd6d7bc6df9f95ad071b58786f36e Mon Sep 17 00:00:00 2001 From: Abraham Arce Date: Fri, 21 Sep 2018 09:17:20 -0500 Subject: [PATCH] [Doc] OpenStack API Reference Guide Baseline changes to comply with OpenStack API documentation from OpenStack Documentation Contributor Guide [0]: - [1] How to document your OpenStack API service [0] https://docs.openstack.org/doc-contrib-guide [1] https://docs.openstack.org/doc-contrib-guide/api-guides.html Story: 2002712 Task: 26621 Change-Id: Ie2bc6b177a8cdff1c844696b89f954cead76e830 Signed-off-by: Abraham Arce --- .gitignore | 3 ++ api-ref/source/conf.py | 75 ++++++++++++++++++++++++++++++++++++++++ api-ref/source/index.rst | 8 +++++ doc/requirements.txt | 3 ++ tox.ini | 9 +++++ 5 files changed, 98 insertions(+) create mode 100644 api-ref/source/conf.py create mode 100644 api-ref/source/index.rst diff --git a/.gitignore b/.gitignore index ff6d8ca1f..c6d84a374 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,9 @@ doc/build # Release Notes documentation releasenotes/build +# Api Ref documentation +api-ref/build/ + # pbr generates these AUTHORS ChangeLog diff --git a/api-ref/source/conf.py b/api-ref/source/conf.py new file mode 100644 index 000000000..3d2ead961 --- /dev/null +++ b/api-ref/source/conf.py @@ -0,0 +1,75 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# stx-distcloud API reference documentation build configuration file +# +# This file is execfile()d with the current directory set to +# its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import os +import sys + +extensions = [ + 'openstackdocstheme', + 'os_api_ref', +] + +html_theme = 'openstackdocs' + +html_theme_options = { + "sidebar_dropdown": "api_ref", + "sidebar_mode": "toc", +} + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +sys.path.insert(0, os.path.abspath('../../')) +sys.path.insert(0, os.path.abspath('../')) +sys.path.insert(0, os.path.abspath('./')) + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +repository_name = 'openstack/stx-distcloud' +project = u'stx-distcloud' +bug_project = 'starlingx' +bug_tag = 'stx.distcloud' + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = False + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ('index', 'stx-distcloud.tex', u'stx-distcloud API Documentation', + u'StarlingX', 'manual'), +] diff --git a/api-ref/source/index.rst b/api-ref/source/index.rst new file mode 100644 index 000000000..304f49f20 --- /dev/null +++ b/api-ref/source/index.rst @@ -0,0 +1,8 @@ +=========================== +stx-distcloud API Reference +=========================== + +StarlingX Distributed Cloud + +.. toctree:: + :maxdepth: 2 diff --git a/doc/requirements.txt b/doc/requirements.txt index a02a541e6..0cbe78dcb 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -3,3 +3,6 @@ openstackdocstheme>=1.19.0 # Apache-2.0 # Release Notes documentation reno>=0.1.1 # Apache2 + +# Api Ref documentation +os-api-ref>=1.4.0 # Apache-2.0 diff --git a/tox.ini b/tox.ini index f765dfee0..f474b1a1b 100644 --- a/tox.ini +++ b/tox.ini @@ -89,6 +89,15 @@ envdir = {toxworkdir}/releasenotes deps = -r{toxinidir}/doc/requirements.txt commands = reno new {posargs} +[testenv:api-ref] +basepython = python3 +deps = + -r{toxinidir}/doc/requirements.txt +commands = + rm -rf api-ref/build + sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html +whitelist_externals = rm + [testenv:debug] commands = oslo_debug_helper {posargs}