Publish documentation

This change adds the Sphinx theme, plumbing, and jobs to publish the
airshipui documentation to docs.airshipit.org/airshipui.

Change-Id: Ia383b2424078dbab2e2300be5f41068571713b50
Signed-off-by: Drew Walters <andrew.walters@att.com>
This commit is contained in:
Drew Walters 2020-05-11 21:04:31 +00:00
parent 9e0f39f624
commit de5d9017b3
10 changed files with 144 additions and 0 deletions

3
.gitignore vendored
View File

@ -10,3 +10,6 @@ bin
# Node modules
web/node_modules
# Sphinx build venv
.tox/

View File

@ -11,17 +11,24 @@
# limitations under the License.
- project:
vars:
sphinx_build_dir: docs/build
check:
jobs:
- openstack-tox-docs
- airshipui-test
- airshipui-lint
gate:
jobs:
- openstack-tox-docs
- airshipui-test
- airshipui-lint
post:
jobs:
- airshipui-upload-git-mirror
promote:
jobs:
- promote-airship-project-docs
- job:
name: airshipui-test

View File

@ -53,6 +53,10 @@ cover: test
clean:
rm -rf $(BUILD_DIR) $(COVERAGE_OUTPUT)
.PHONY: docs
docs:
tox
# The golang-unit zuul job calls the env target, so create one
# Note: on windows if there is a WSL curl in c:\windows\system32
# it will cause problems installing the lint tools.

3
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Sphinx build folders
build/
_build/

View File

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1.51in" height="0.41in" viewBox="0 0 108.66 29.2"><defs><style>.cls-1{fill:#fff;}</style></defs><title>logo_white</title><path class="cls-1" d="M166.93,99.47a4,4,0,0,1-.36-1.2,4.31,4.31,0,0,1-3.36,1.45A4.72,4.72,0,0,1,160,98.58a3.64,3.64,0,0,1-1.29-2.86,3.75,3.75,0,0,1,1.57-3.25,7.74,7.74,0,0,1,4.54-1.15h1.64v-.77a2.16,2.16,0,0,0-.47-1.47,1.88,1.88,0,0,0-1.5-.56A2.1,2.1,0,0,0,163,89a1.47,1.47,0,0,0-.51,1.19H159a3.57,3.57,0,0,1,.72-2.15,4.78,4.78,0,0,1,2-1.55,7.44,7.44,0,0,1,2.94-.56,5.8,5.8,0,0,1,3.91,1.24A4.33,4.33,0,0,1,170,90.6v5.79a6.34,6.34,0,0,0,.53,2.87v.21ZM164,97a3.15,3.15,0,0,0,1.46-.35,2.29,2.29,0,0,0,1-.94V93.4h-1.33c-1.78,0-2.73.62-2.85,1.85v.21a1.44,1.44,0,0,0,.47,1.1A1.8,1.8,0,0,0,164,97Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M172.47,82.68a1.73,1.73,0,0,1,.53-1.32,2.31,2.31,0,0,1,2.92,0,1.88,1.88,0,0,1,0,2.65,2.28,2.28,0,0,1-2.9,0A1.77,1.77,0,0,1,172.47,82.68Zm3.78,16.79h-3.58V86.13h3.58Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M186.42,89.47a9,9,0,0,0-1.28-.1,2.61,2.61,0,0,0-2.65,1.37v8.73h-3.56V86.13h3.36l.1,1.59a3.3,3.3,0,0,1,3-1.84,3.92,3.92,0,0,1,1.11.16Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M195.74,95.78a1.16,1.16,0,0,0-.65-1,7.43,7.43,0,0,0-2.07-.67c-3.18-.66-4.76-2-4.76-4a3.68,3.68,0,0,1,1.47-3,6,6,0,0,1,3.85-1.19,6.35,6.35,0,0,1,4.06,1.2,3.76,3.76,0,0,1,1.53,3.1H195.6a1.72,1.72,0,0,0-.49-1.26,2.1,2.1,0,0,0-1.54-.5,2.13,2.13,0,0,0-1.39.41,1.29,1.29,0,0,0-.5,1,1.1,1.1,0,0,0,.56,1,6,6,0,0,0,1.9.63,14.77,14.77,0,0,1,2.24.6q2.82,1,2.82,3.58a3.49,3.49,0,0,1-1.56,3,6.77,6.77,0,0,1-4,1.13,7,7,0,0,1-3-.6,5,5,0,0,1-2-1.64,3.79,3.79,0,0,1-.74-2.25h3.38a1.82,1.82,0,0,0,.7,1.45,2.76,2.76,0,0,0,1.75.51,2.59,2.59,0,0,0,1.55-.39A1.21,1.21,0,0,0,195.74,95.78Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M205.35,87.58a4.48,4.48,0,0,1,3.57-1.7q4.34,0,4.4,5v8.55h-3.56V91a2.45,2.45,0,0,0-.5-1.69,2.09,2.09,0,0,0-1.64-.55A2.43,2.43,0,0,0,205.35,90v9.48h-3.56V80.53h3.56Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M215.82,82.68a1.73,1.73,0,0,1,.54-1.32,2,2,0,0,1,1.46-.52,2,2,0,0,1,1.46.52,1.73,1.73,0,0,1,.54,1.32,1.78,1.78,0,0,1-.55,1.33,2.28,2.28,0,0,1-2.9,0A1.78,1.78,0,0,1,215.82,82.68Zm3.79,16.79H216V86.13h3.58Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M234.33,92.92a8,8,0,0,1-1.4,4.94,4.48,4.48,0,0,1-3.78,1.86,4.13,4.13,0,0,1-3.26-1.41v6.29h-3.57V86.13h3.31l.12,1.31a4.18,4.18,0,0,1,3.38-1.56A4.51,4.51,0,0,1,233,87.71a8.15,8.15,0,0,1,1.37,5Zm-3.56-.26a5.23,5.23,0,0,0-.66-2.87,2.16,2.16,0,0,0-1.92-1,2.32,2.32,0,0,0-2.3,1.28v5.46a2.37,2.37,0,0,0,2.33,1.32Q230.77,96.84,230.77,92.66Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M135.45,97.76l-1.55-.9A1.9,1.9,0,0,1,133,95.6l-.58-3a26.6,26.6,0,0,1-1.65-3.73l-4.9,8.49a1.4,1.4,0,0,0,1.21,2.1h7.69a.51.51,0,0,0,.45-.26l.72-1.25A2,2,0,0,1,135.45,97.76Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M140.56,76.1a1.41,1.41,0,0,0-2.43,0l-6.06,10.51a1.3,1.3,0,0,1,.74-.5c2-.53,5.94-1.23,9,.56a9.74,9.74,0,0,1,3.52,3.79h3.2a.51.51,0,0,1,.4.19Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M152.84,97.37,149,90.78a.53.53,0,0,1-.11.54l-2,2L153,97.81A1.46,1.46,0,0,0,152.84,97.37Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M138.66,92.16A28.39,28.39,0,0,1,132,86.74l-.12.2a1.08,1.08,0,0,0,0,.81,16.31,16.31,0,0,0,1.85,4.36l.63,3.23a.51.51,0,0,0,.25.34l1.55.9a.51.51,0,0,0,.7-.18l.5-.86a10.11,10.11,0,0,0,4.56.9l1.6,2.77a.51.51,0,0,0,.94-.11l.88-3.11c.21,0,.39-.09.57-.14a1.32,1.32,0,0,0,.82-.63A28.65,28.65,0,0,1,138.66,92.16Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M152.09,99.39l-5.62-2.47-.73,2.55h5.89A1.39,1.39,0,0,0,152.09,99.39Z" transform="translate(-125.67 -75.4)"/></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

17
docs/requirements.txt Normal file
View File

@ -0,0 +1,17 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
# Documentation
sphinx>2.1.0
oslosphinx>=4.7.0 # Apache-2.0
sphinx_rtd_theme
# UML image generation
plantuml
# Releasenotes
reno>=2.5.0 # Apache-2.0
# Sphinx markdown extension
recommonmark

66
docs/source/conf.py Normal file
View File

@ -0,0 +1,66 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# 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('.'))
import sphinx_rtd_theme
# -- Project information -----------------------------------------------------
project = 'airshipui'
copyright = '2020, The Airship Authors'
author = 'The Airship Authors'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'recommonmark'
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_logo = "img/airship.logo.white.svg"
html_theme = "sphinx_rtd_theme"
html_theme_options = {
'display_version': False,
'logo_only': True
}
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
# 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']
# Source files
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}

24
docs/source/index.rst Normal file
View File

@ -0,0 +1,24 @@
..
Copyright 2018 AT&T Intellectual Property.
All Rights Reserved.
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.
=====================================
Welcome to airshipui's Documentation!
=====================================
.. toctree::
:maxdepth: 2
developers

19
tox.ini Normal file
View File

@ -0,0 +1,19 @@
[tox]
envlist = docs
skipsdist = true
[testenv]
setenv = VIRTUAL_ENV={envdir}
LANGUAGE=en_US
LC_ALL=en_US.utf-8
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:docs]
basepython = python3
whitelist_externals = rm
deps =
-r{toxinidir}/docs/requirements.txt
commands =
rm -rf docs/build
sphinx-build docs/source docs/build/html