summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/how-to-use-docs/documentation-example.rst5
-rw-r--r--etc/conf.py40
-rwxr-xr-xscripts/docs-build.sh59
3 files changed, 49 insertions, 55 deletions
diff --git a/docs/how-to-use-docs/documentation-example.rst b/docs/how-to-use-docs/documentation-example.rst
index 33261eff4..85133ad83 100644
--- a/docs/how-to-use-docs/documentation-example.rst
+++ b/docs/how-to-use-docs/documentation-example.rst
@@ -126,10 +126,10 @@ added if they are not set in the ``conf.py``.
'sphinx.ext.viewcode',
'sphinx.ext.napoleon']
* **needs_sphinx** = '1.3'
+* **numfig** = True
* **master_doc** = 'index'
* **pygments_style** = 'sphinx'
* **html_use_index** = False
-* **numfig** = True
* **html_logo** = 'opnfv-logo.png'
* **latex_domain_indices** = False
* **latex_logo** = 'opnfv-logo.png'
@@ -140,8 +140,7 @@ added if they are not set in the ``conf.py``.
* **version** = '``git last tag name`` (``git last commit hash``)'
* **project** = '``git repo name``'
* **copyright** = '``year``, OPNFV'
-
-See http://sphinx-doc.org/config.html to learn sphinx configuration.
+* **rst_epilog** = ' Revision:``git last commit hash``\n Build date:``build date in year-month-date format``'
**Note:**
You can leave the file path for OPNFV logo image which will be prepared
diff --git a/etc/conf.py b/etc/conf.py
deleted file mode 100644
index c4cbae775..000000000
--- a/etc/conf.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Linux Foundation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-'''
-Base configuration file for building OPNFV docs
-
-You can override this configuration by putting 'conf.py' in the document
-directory (e.g. docs/how-to-use-docs/conf.py). If there is no 'conf.py'
-in the document directory, this file will be copied to that directory
-before the document builder jobs ('opnfv-docs-verify' and 'opnfv-docs-merge').
-
-You may need python package installation for new sphinx extension.
-Install python package with 'pip' in your machine and add the extension to
-the 'extensions' list below to test the documentation build locally.
-If you feel that your extensions would be useful for other projects too,
-we encourage you to propose a change in the releng repository.
-
-For further guidance see the https://wiki.opnfv.org/documentation/tools page.
-'''
-
-extensions = ['sphinxcontrib.httpdomain',
- 'sphinx.ext.autodoc',
- 'sphinx.ext.viewcode',
- 'sphinx.ext.napoleon']
-
-needs_sphinx = '1.3'
-master_doc = 'index'
-pygments_style = 'sphinx'
-
-html_use_index = False
-numfig = True
-html_logo = 'opnfv-logo.png'
-
-latex_domain_indices = False
-latex_logo = 'opnfv-logo.png'
diff --git a/scripts/docs-build.sh b/scripts/docs-build.sh
index 1c85bad79..f95dd481d 100755
--- a/scripts/docs-build.sh
+++ b/scripts/docs-build.sh
@@ -43,8 +43,8 @@ rev_full="$(git rev-parse HEAD)"
version="$(git describe --abbrev=0 2> /dev/null || echo draft) ($revision)"
project="$(basename $(git rev-parse --show-toplevel))"
html_notes=" Revision: $rev_full\n Build date: $(date -u +'%Y-%m-%d')"
-default_conf="$OPNFVDOCS_DIR/etc/conf.py"
opnfv_logo="$OPNFVDOCS_DIR/etc/opnfv-logo.png"
+copyright="$(date +%Y), OPNFV"
function check_rst_doc() {
_src="$1"
@@ -71,7 +71,7 @@ function add_html_notes() {
# TODO: remove this, once old templates were removed from all repos.
echo
echo "Warn: '_sha1_' was found in [$file], use the latest document template."
- echo " See https://wiki.opnfv.org/documentation/tools ."
+ echo " See http://artifacts.opnfv.org/opnfvdocs/docs/how-to-use-docs ."
echo
sed -i "s/ _sha1_/ $git_sha1/g" "$file"
fi
@@ -98,6 +98,48 @@ function add_config() {
fi
}
+# Note: User can customize config for specific document by creating 'conf.py'
+# in the taeget document dir (e.g. docs/abc/conf.py). This config file does
+# not need to cover all config parameter, as all missing parameter will be
+# automatically filled by this function.
+function prepare_config() {
+ _src="$1"
+ _name="$2"
+ _conf="$_src/conf.py"
+
+ # default params
+ # Note: If you want to add a new sphinx extention here, you may need python
+ # package for it (e.g. python package 'sphinxcontrib-httpdomain' is
+ # required by 'sphinxcontrib.httpdomain'). If you need such python
+ # package, add the name of the python package into the requirement
+ # list 'docs/etc/requirements.txt' .
+ add_config "$_conf" 'extensions' \
+ "['sphinxcontrib.httpdomain', 'sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.napoleon']"
+ add_config "$_conf" 'needs_sphinx' "'1.3'"
+ add_config "$_conf" 'numfig' "True"
+ add_config "$_conf" 'master_doc' "'index'"
+ add_config "$_conf" 'pygments_style' "'sphinx'"
+ add_config "$_conf" 'html_use_index' "False"
+ add_config "$_conf" 'html_logo' "'opnfv-logo.png'"
+ add_config "$_conf" 'latex_domain_indices' "False"
+ add_config "$_conf" 'latex_logo' "'opnfv-logo.png'"
+
+ # genarated params
+ title=$(cd $_src; python -c "$get_title_script")
+ latex_conf="[('index', '$_name.tex', \"$title\", 'OPNFV', 'manual'),]"
+ add_config "$_conf" 'latex_documents' "$latex_conf"
+ add_config "$_conf" 'release' "u'$version'"
+ add_config "$_conf" 'version' "u'$version'"
+ add_config "$_conf" 'project' "u'$project'"
+ add_config "$_conf" 'copyright' "u'$copyright'"
+ add_config "$_conf" 'rst_epilog' "u'$html_notes'"
+
+ echo "sphinx config to be used:"
+ echo
+ sed -e "s/^/ /" "$_conf"
+ echo
+}
+
function is_top_dir() {
[[ "$1" == "$DOCS_DIR" ]]
}
@@ -131,7 +173,8 @@ function generate_name() {
check_rst_doc $DOCS_DIR
if [[ ! -d "$OPNFVDOCS_DIR" ]] ; then
- echo "Error: $OPNFVDOCS_DIR dir not found. See https://wiki.opnfv.org/documentation/tools ."
+ echo "Error: $OPNFVDOCS_DIR dir not found."
+ echo "See http://artifacts.opnfv.org/opnfvdocs/docs/how-to-use-docs ."
exit 1
fi
@@ -156,7 +199,6 @@ do
fi
build="$BUILD_DIR/$name"
output="$OUTPUT_DIR/$name"
- conf="$src/conf.py"
echo
echo "#################${dir//?/#}"
@@ -164,14 +206,7 @@ do
echo "#################${dir//?/#}"
echo
- [[ ! -f "$conf" ]] && cp "$default_conf" "$conf"
- title=$(cd $src; python -c "$get_title_script")
- latex_conf="[('index', '$name.tex', \"$title\", 'OPNFV', 'manual'),]"
- add_config "$conf" 'latex_documents' "$latex_conf"
- add_config "$conf" 'release' "u'$version'"
- add_config "$conf" 'version' "u'$version'"
- add_config "$conf" 'project' "u'$project'"
- add_config "$conf" 'copyright' "u'$(date +%Y), OPNFV'"
+ prepare_config "$src" "$name"
cp -f $opnfv_logo "$src/opnfv-logo.png"
mkdir -p "$output"