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
This commit is contained in:
Andreas Jaeger 2020-06-02 18:53:59 +02:00
parent 019bade19c
commit 3d105b623d
5 changed files with 21 additions and 73 deletions

View File

@ -25,21 +25,18 @@
import datetime import datetime
import os import os
from swift import __version__
import subprocess
import sys import sys
import warnings import warnings
import openstackdocstheme
html_theme = 'openstackdocs' html_theme = 'openstackdocs'
html_theme_path = [openstackdocstheme.get_html_theme_path()]
html_theme_options = { html_theme_options = {
"sidebar_mode": "toc", "sidebar_mode": "toc",
} }
extensions = [ extensions = [
'os_api_ref', 'os_api_ref',
'openstackdocstheme'
] ]
# If extensions (or modules to document with autodoc) are in another directory, # 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' project = u'Object Storage API Reference'
copyright = u'2010-present, OpenStack Foundation' 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 # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
# #
@ -108,7 +92,12 @@ add_module_names = False
show_authors = False show_authors = False
# The name of the Pygments (syntax highlighting) style to use. # 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 ---------------------------------------------- # -- Options for man page output ----------------------------------------------
@ -152,25 +141,6 @@ pygments_style = 'sphinx'
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ['_static'] # 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 # If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities. # typographically correct entities.
# html_use_smartypants = True # html_use_smartypants = True

View File

@ -2,9 +2,9 @@
# of appearance. Changing the order has an impact on the overall integration # of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later. # process, which may cause wedges in the gate later.
# this is required for the docs build jobs # this is required for the docs build jobs
sphinx>=1.6.2 # BSD sphinx>=2.0.0,!=2.1.0 # BSD
openstackdocstheme>=1.30.0 # Apache-2.0 openstackdocstheme>=2.2.1 # Apache-2.0
reno>=1.8.0 # Apache-2.0 reno>=3.1.0 # Apache-2.0
os-api-ref>=1.0.0 # Apache-2.0 os-api-ref>=1.0.0 # Apache-2.0
python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD

View File

@ -29,7 +29,6 @@
import datetime import datetime
import logging import logging
import os import os
from swift import __version__
import sys import sys
# NOTE(amotoki): Our current doc build job uses an older version of # NOTE(amotoki): Our current doc build job uses an older version of
@ -80,15 +79,6 @@ else:
now = datetime.date.today() now = datetime.date.today()
copyright = u'%d, OpenStack Foundation' % now.year 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 # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
# language = None # language = None
@ -122,7 +112,7 @@ exclude_trees = []
show_authors = True show_authors = True
# The name of the Pygments (syntax highlighting) style to use. # 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. # A list of ignored prefixes for module index sorting.
modindex_common_prefix = ['swift.'] modindex_common_prefix = ['swift.']
@ -172,11 +162,6 @@ html_theme_options = {
# robots.txt. # robots.txt.
html_extra_path = ['_extra'] 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 # If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities. # typographically correct entities.
# html_use_smartypants = True # html_use_smartypants = True
@ -248,6 +233,8 @@ latex_documents = [
latex_use_xindy = False latex_use_xindy = False
# -- Options for openstackdocstheme ------------------------------------------- # -- Options for openstackdocstheme -------------------------------------------
repository_name = 'openstack/swift' openstackdocs_repo_name = 'openstack/swift'
bug_project = 'swift' openstackdocs_pdf_link = True
bug_tag = '' openstackdocs_auto_name = False
openstackdocs_bug_project = 'swift'
openstackdocs_bug_tag = ''

View File

@ -44,8 +44,6 @@ netifaces==0.8
nose==1.3.7 nose==1.3.7
nosehtmloutput==0.0.3 nosehtmloutput==0.0.3
nosexcover==1.0.10 nosexcover==1.0.10
openstackdocstheme==1.30.0
os-api-ref==1.0.0
os-testr==0.8.0 os-testr==0.8.0
oslo.config==4.0.0 oslo.config==4.0.0
oslo.i18n==3.20.0 oslo.i18n==3.20.0
@ -68,15 +66,12 @@ python-swiftclient==3.2.0
python-openstackclient==3.12.0 python-openstackclient==3.12.0
pytz==2018.3 pytz==2018.3
PyYAML==3.12 PyYAML==3.12
reno==1.8.0
requests==2.14.2 requests==2.14.2
requests-mock==1.2.0 requests-mock==1.2.0
rfc3986==1.1.0 rfc3986==1.1.0
six==1.10.0 six==1.10.0
smmap2==2.0.3 smmap2==2.0.3
snowballstemmer==1.2.1 snowballstemmer==1.2.1
Sphinx==1.6.2
sphinxcontrib-websupport==1.0.1
stestr==2.0.0 stestr==2.0.0
stevedore==1.28.0 stevedore==1.28.0
testtools==2.3.0 testtools==2.3.0

View File

@ -116,7 +116,7 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# show_authors = False # show_authors = False
# The name of the Pygments (syntax highlighting) style to use. # 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. # A list of ignored prefixes for module index sorting.
# modindex_common_prefix = [] # modindex_common_prefix = []
@ -174,11 +174,6 @@ html_theme = 'openstackdocs'
# #
# html_extra_path = [] # 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 # If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities. # typographically correct entities.
# #
@ -352,6 +347,7 @@ htmlhelp_basename = 'SwiftReleaseNotesdoc'
locale_dirs = ['locale/'] locale_dirs = ['locale/']
# -- Options for openstackdocstheme ------------------------------------------- # -- Options for openstackdocstheme -------------------------------------------
repository_name = 'openstack/swift' openstackdocs_repo_name = 'openstack/swift'
bug_project = 'swift' openstackdocs_auto_name = False
bug_tag = '' openstackdocs_bug_project = 'swift'
openstackdocs_bug_tag = ''