From 3d105b623d13d8fe6bb4db676196a44ac3db464f Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 2 Jun 2020 18:53:59 +0200 Subject: [PATCH] Switch to newer openstackdocstheme and reno versions Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using these versions will allow especially: * Linking from HTML to PDF document * Allow parallel building of documents * Fix some rendering problems Update Sphinx version as well. Disable openstackdocs_auto_name to use 'project' variable as name. Set openstackdocs_pdf_link to link to PDF file. Note that the link to the published document only works on docs.openstack.org where the PDF file is placed in the top-level html directory. The site-preview places the PDF in a pdf directory. Change pygments_style to 'native' since old theme version always used 'native' and the theme now respects the setting and using 'sphinx' can lead to some strange rendering. Remove docs requirements from lower-constraints, they are not needed during install or test but only for docs building. openstackdocstheme renames some variables, so follow the renames before the next release removes them. A couple of variables are also not needed anymore, remove them. See also http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html Change-Id: I131850d2a5c6164dfd48c9c95885d4754b5236c6 --- api-ref/source/conf.py | 44 ++++++------------------------------- doc/requirements.txt | 6 ++--- doc/source/conf.py | 25 +++++---------------- lower-constraints.txt | 5 ----- releasenotes/source/conf.py | 14 +++++------- 5 files changed, 21 insertions(+), 73 deletions(-) diff --git a/api-ref/source/conf.py b/api-ref/source/conf.py index cb2f07428e..dea25e9c7b 100644 --- a/api-ref/source/conf.py +++ b/api-ref/source/conf.py @@ -25,21 +25,18 @@ import datetime import os -from swift import __version__ -import subprocess import sys import warnings -import openstackdocstheme html_theme = 'openstackdocs' -html_theme_path = [openstackdocstheme.get_html_theme_path()] html_theme_options = { "sidebar_mode": "toc", } extensions = [ 'os_api_ref', + 'openstackdocstheme' ] # If extensions (or modules to document with autodoc) are in another directory, @@ -68,19 +65,6 @@ master_doc = 'index' project = u'Object Storage API Reference' copyright = u'2010-present, 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 = __version__.rsplit('.', 1)[0] -# The full version, including alpha/beta/rc tags. -release = __version__ - -# html_context allows us to pass arbitrary values into the html template -html_context = {'bug_tag': 'api-ref', - 'bug_project': 'swift'} - # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # @@ -108,7 +92,12 @@ add_module_names = False show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' + +# openstackdocstheme options +openstackdocs_repo_name = 'openstack/swift' +openstackdocs_bug_project = 'swift' +openstackdocs_bug_tag = 'api-ref' # -- Options for man page output ---------------------------------------------- @@ -152,25 +141,6 @@ pygments_style = 'sphinx' # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' -if 'SOURCE_DATE_EPOCH' in os.environ: - now = float(os.environ.get('SOURCE_DATE_EPOCH')) - html_last_updated_fmt = datetime.datetime.utcfromtimestamp(now).isoformat() -else: - git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", - "--date=local", "-n1"] - try: - html_last_updated_fmt = subprocess.Popen( - git_cmd, stdout=subprocess.PIPE).communicate()[0] - except OSError: - warnings.warn('Cannot get last updated time from git repository. ' - 'Not setting "html_last_updated_fmt".') - else: - if not isinstance(html_last_updated_fmt, str): - # for py3 - html_last_updated_fmt = html_last_updated_fmt.decode('ascii') # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True diff --git a/doc/requirements.txt b/doc/requirements.txt index 00197779f8..46c4f5d8b2 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -2,9 +2,9 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. # this is required for the docs build jobs -sphinx>=1.6.2 # BSD -openstackdocstheme>=1.30.0 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +sphinx>=2.0.0,!=2.1.0 # BSD +openstackdocstheme>=2.2.1 # Apache-2.0 +reno>=3.1.0 # Apache-2.0 os-api-ref>=1.0.0 # Apache-2.0 python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD diff --git a/doc/source/conf.py b/doc/source/conf.py index 3f048d68fd..2ca5d84771 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -29,7 +29,6 @@ import datetime import logging import os -from swift import __version__ import sys # NOTE(amotoki): Our current doc build job uses an older version of @@ -80,15 +79,6 @@ else: now = datetime.date.today() copyright = u'%d, OpenStack Foundation' % now.year -# 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 = __version__.rsplit('.', 1)[0] -# The full version, including alpha/beta/rc tags. -release = __version__ - # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None @@ -122,7 +112,7 @@ exclude_trees = [] show_authors = True # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # A list of ignored prefixes for module index sorting. modindex_common_prefix = ['swift.'] @@ -172,11 +162,6 @@ html_theme_options = { # robots.txt. html_extra_path = ['_extra'] -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' -html_last_updated_fmt = '%Y-%m-%d %H:%M' - # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True @@ -248,6 +233,8 @@ latex_documents = [ latex_use_xindy = False # -- Options for openstackdocstheme ------------------------------------------- -repository_name = 'openstack/swift' -bug_project = 'swift' -bug_tag = '' +openstackdocs_repo_name = 'openstack/swift' +openstackdocs_pdf_link = True +openstackdocs_auto_name = False +openstackdocs_bug_project = 'swift' +openstackdocs_bug_tag = '' diff --git a/lower-constraints.txt b/lower-constraints.txt index 2c5c894fcf..0928e75338 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -44,8 +44,6 @@ netifaces==0.8 nose==1.3.7 nosehtmloutput==0.0.3 nosexcover==1.0.10 -openstackdocstheme==1.30.0 -os-api-ref==1.0.0 os-testr==0.8.0 oslo.config==4.0.0 oslo.i18n==3.20.0 @@ -68,15 +66,12 @@ python-swiftclient==3.2.0 python-openstackclient==3.12.0 pytz==2018.3 PyYAML==3.12 -reno==1.8.0 requests==2.14.2 requests-mock==1.2.0 rfc3986==1.1.0 six==1.10.0 smmap2==2.0.3 snowballstemmer==1.2.1 -Sphinx==1.6.2 -sphinxcontrib-websupport==1.0.1 stestr==2.0.0 stevedore==1.28.0 testtools==2.3.0 diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 1dea1af1dd..932a4cbbd8 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -116,7 +116,7 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] @@ -174,11 +174,6 @@ html_theme = 'openstackdocs' # # html_extra_path = [] -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' -html_last_updated_fmt = '%Y-%m-%d %H:%M' - # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # @@ -352,6 +347,7 @@ htmlhelp_basename = 'SwiftReleaseNotesdoc' locale_dirs = ['locale/'] # -- Options for openstackdocstheme ------------------------------------------- -repository_name = 'openstack/swift' -bug_project = 'swift' -bug_tag = '' +openstackdocs_repo_name = 'openstack/swift' +openstackdocs_auto_name = False +openstackdocs_bug_project = 'swift' +openstackdocs_bug_tag = ''