From cedf2769181954dfb6ec5ebfefdc1d105b8ec266 Mon Sep 17 00:00:00 2001 From: rabi Date: Thu, 20 Jul 2017 09:36:15 +0530 Subject: Add basic stuff to build docs This adds basic stuff required to build docs. Change-Id: Ib9b917cc442e73aa177c68b1e1b26792ed2e8cd2 --- doc/source/conf.py | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/source/index.rst | 18 ++++++ setup.cfg | 8 +++ test-requirements.txt | 2 + tox.ini | 6 ++ 5 files changed, 209 insertions(+) create mode 100644 doc/source/conf.py create mode 100644 doc/source/index.rst diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..4faf403 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,175 @@ +# -*- coding: utf-8 -*- +# 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. +# +# heat-templates documentation build configuration file, created by +# sphinx-quickstart on Thu Jul 20 09:19:39 2017. +# +# 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. + +# 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. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['sphinx.ext.autodoc', + 'openstackdocstheme'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'heat-templates' +copyright = 'OpenStack Foundation' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '' +# The full version, including alpha/beta/rc tags. +release = '' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +# todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'openstackdocs' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# This is required for the alabaster theme +# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars +# html_sidebars = {} + +# -- Options for openstackdocstheme -------------------------------------- +repository_name = 'openstack/heat-templates' +bug_project = 'heat-templates' +bug_tag = '' + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'heat-templatesdoc' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'heat-templates.tex', 'heat-templates Documentation', + 'OpenStack Foundation', 'manual'), +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'heat-templates', 'heat-templates Documentation', + ['Heat Developers'], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'heat-templates', 'heat-templates Documentation', + 'Heat Developers', 'heat-templates', 'One line description of project.', + 'Miscellaneous'), +] diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..a0afe0d --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,18 @@ +.. heat-templates documentation master file, created by + sphinx-quickstart on Thu Jul 20 09:19:39 2017. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Heat Templates! +========================== + +.. toctree:: + :maxdepth: 1 + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/setup.cfg b/setup.cfg index e7187f2..39b28fe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,3 +17,11 @@ classifier = Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.4 + +[build_sphinx] +source-dir = doc/source +build-dir = doc/build +all_files = 1 + +[upload_sphinx] +upload-dir = doc/build/html diff --git a/test-requirements.txt b/test-requirements.txt index 402c212..a855ea0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5,9 +5,11 @@ fixtures>=0.3.14 # Hacking already pins down pep8, pyflakes and flake8 hacking>=0.10.0,<0.11 mock>=1.0 +openstackdocstheme>=1.11.0 # Apache-2.0 requests>=1.2.1,!=2.4.0 requests-mock>=0.4.0 # Apache-2.0 salt +sphinx>=1.6.2 # BSD testrepository>=0.0.18 testscenarios>=0.4 testtools>=0.9.34 diff --git a/tox.ini b/tox.ini index fbe8907..1ce04cf 100644 --- a/tox.ini +++ b/tox.ini @@ -17,6 +17,12 @@ commands = flake8 [testenv:venv] commands = {posargs} +[testenv:docs] +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + sphinxcontrib-httpdomain +commands = python setup.py build_sphinx + [flake8] show-source = True builtins = _ -- cgit v1.2.1