diff --git a/Makefile b/Makefile index d4bb2cbb9eddb1bb1b4f366623044af8e4830919..2cfb8f0102af4c0be8aecd4399862536411caaf1 100644 --- a/Makefile +++ b/Makefile @@ -16,5 +16,9 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +html: Makefile + sphinx-multiversion "$(SOURCEDIR)" "$(BUILDDIR)/html" + ./fix_cross_references.sh + %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/_templates/versions.html b/_templates/versions.html new file mode 100644 index 0000000000000000000000000000000000000000..c3b4d4a5dbe653cbfdba8b19d1f1a77e2fff580d --- /dev/null +++ b/_templates/versions.html @@ -0,0 +1,24 @@ +{%- if current_version %} +
+ + Other Versions + v: {{ current_version.name }} + + +
+
+
Versions
+ {%- if versions.tags %} + {%- for item in versions.tags %} +
{{ item.name }}
+ {%- endfor %} + {%- endif %} + {%- if versions.branches %} + {%- for item in versions.branches|sort(attribute="name",reverse=True) %} +
{{ item.name }}
+ {%- endfor %} + {%- endif %} +
+
+
+{%- endif %} diff --git a/conf.py b/conf.py index b51879f2dd4ff291fba31deff42a68e2cb7e9547..498b873af9bcb7e92a6e8bb0e19564bc801becd3 100644 --- a/conf.py +++ b/conf.py @@ -37,6 +37,7 @@ extensions = ['sphinx.ext.autodoc', 'sphinx.ext.githubpages', 'recommonmark', 'sphinx_markdown_tables', + 'sphinx_multiversion', ] source_suffix = { @@ -94,3 +95,16 @@ html_theme_options = { #html_logo = 'assets/osm_logo.png' html_logo = 'assets/osm_logo.svg' +smv_current_version = 'latest' +#smv_tag_whitelist = None +#smv_tag_whitelist = r'^v\d+\.\d+$' +smv_tag_whitelist = 'latest' +#smv_branch_whitelist = None +#smv_branch_whitelist = r'^v\d+\.\d+$' +smv_branch_whitelist = r'(v11|v10)' +#smv_remote_whitelist = 'None' +smv_remote_whitelist = r'(origin)' +smv_released_pattern = r'(latest|v11|v10)' +#smv_outputdir_format = 'versions/{config.release}' # Use "versions" as parent directory and the "release" variable from conf.py +#smv_outputdir_format = 'versions/{ref.name}' + diff --git a/index.md b/index.md index 78a2e935f82fbc416490e891675ddab6bd172c55..6f0994c36eb9eec2c716eb19a0a5b5a68b0daa92 100644 --- a/index.md +++ b/index.md @@ -23,6 +23,7 @@ 11. [ANNEX 3: Reference of OSM's Information Model](11-osm-im.md) 12. [ANNEX 4: Reference of OSM's Northbound Interface](12-osm-nbi.md) 13. [ANNEX 5: OpenVIM installation](13-openvim-installation.md) -14. [ANNEX 6: Tests to validate VIM capabilities from OSM](14-tests-for-vim-validation.md) -15. [ANNEX 7: Kubernetes installation and requirements](15-k8s-installation.md) -16. [ANNEX 8: Setting up an LXD Cluster](16-lxd-cluster.md) +15. [ANNEX 6: Kubernetes installation and requirements](15-k8s-installation.md) +16. [ANNEX 7: Setting up an LXD Cluster](16-lxd-cluster.md) +17. [ANNEX 8: TACACS Based Authentication Support In OSM](18-tacacs-based-authentication.md) + diff --git a/requirements.txt b/requirements.txt index e5fa3766a2ee938fd1ba3fe98d326ea83ae28b22..4b7224915fcb682cdebab71e3c9a50c03a57a4b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ sphinx sphinx_rtd_theme sphinxcontrib-versioning +sphinx-multiversion recommonmark sphinx-markdown-tables diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000000000000000000000000000000000000..ebbda641e664553c1ede5f564cc0c1f776e77781 --- /dev/null +++ b/tox.ini @@ -0,0 +1,44 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# 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. +####################################################################################### + +[tox] +envlist = test + +[testenv] +usedevelop = True +basepython = python3 +setenv = VIRTUAL_ENV={envdir} + PYTHONDONTWRITEBYTECODE = 1 +deps = -r{toxinidir}/requirements.txt +parallel_show_output = true + + +####################################################################################### +# This is a test of sphinxcontrib-versioning. +# +# This was not used in the end because it is no longer maintained. Besides, it was not +# working well from scratch, requiring some updates in the library (see commands below). +# +# Instead, sphinx-multiversion was used and incorporated in Makefile. +# This is kept as a reference for the future in case we want to try again +####################################################################################### +[testenv:sphinx-versioning] +skip_install = true +commands = + /usr/bin/sed -i "s|from sphinx import application, build_main.*|from sphinx import application\nfrom sphinx.cmd.build import build_main|" {envdir}/lib/python3.8/site-packages/sphinxcontrib/versioning/sphinx_.py + sphinx-versioning build --help + diff --git a/upload-doc.sh b/upload-doc.sh index ac027c5614c1691f96450b9c488924e12263e6e0..6075d87ed8b3fef832ba6019bb3683461a6a3962 100755 --- a/upload-doc.sh +++ b/upload-doc.sh @@ -12,9 +12,9 @@ make clean make html # -# Fix cross-references +# Fix cross-references (already fixed in Makefile) # -./fix_cross_references.sh +# ./fix_cross_references.sh # # Get credentias (file or interactive)