From 2e25b23539b882ad10074242e924208d65d95b97 Mon Sep 17 00:00:00 2001 From: Kaifeng Wang Date: Tue, 18 Jun 2019 11:09:03 +0800 Subject: [PATCH] Build pdf doc The is one of community goals that each project could produce a single PDF file. The pdf should be in the output of openstack-tox-docs job. TeX packages are required to build PDF locally, following is recommended: * inkscape * texlive-latex-base * texlive-latex-extra * texlive-fonts-recommended More about the goal: https://governance.openstack.org/tc/goals/train/pdf-doc-generation.html https://etherpad.openstack.org/p/train-pdf-support-goal https://etherpad.openstack.org/p/pdf-goal-train-common-problems Change-Id: I60e1e1b02ced34a7236fca4552ecf2f983cdb9d4 --- doc/requirements.txt | 2 +- doc/source/conf.py | 13 +++++-------- lower-constraints.txt | 2 +- tox.ini | 8 ++++++++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index a8778bf1a..4c5102a30 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,7 +1,7 @@ # 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. -openstackdocstheme>=1.18.1 # Apache-2.0 +openstackdocstheme>=1.20.0 # Apache-2.0 reno>=2.5.0 # Apache-2.0 sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD diff --git a/doc/source/conf.py b/doc/source/conf.py index 61e9a99a3..0893ad437 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -19,8 +19,7 @@ apidoc_separate_modules = True # openstackdocstheme options repository_name = 'openstack/python-ironicclient' -bug_project = 'python-ironicclient' -bug_tag = '' +use_storyboard = True # autodoc generation is a bit aggressive and a nuisance when doing heavy # text edit cycles. @@ -36,7 +35,6 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'python-ironicclient' copyright = u'OpenStack Foundation' # A list of ignored prefixes for module index sorting. @@ -66,11 +64,10 @@ exclude_patterns = ['api/ironicclient.tests.functional.*'] #html_static_path = ['_static'] html_theme = 'openstackdocs' -html_last_updated_fmt = '%Y-%m-%d %H:%M' - # Output file base name for HTML help builder. -htmlhelp_basename = '%sdoc' % project +htmlhelp_basename = 'python-ironicclientdoc' +latex_use_xindy = False # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass @@ -78,8 +75,8 @@ htmlhelp_basename = '%sdoc' % project latex_documents = [ ( 'index', - '%s.tex' % project, - u'%s Documentation' % project, + 'doc-python-ironicclient.tex', + u'Python Ironic Client Documentation', u'OpenStack LLC', 'manual' ), diff --git a/lower-constraints.txt b/lower-constraints.txt index ca25a131e..388f62a29 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -41,7 +41,7 @@ msgpack-python==0.4.0 munch==2.1.0 netaddr==0.7.18 netifaces==0.10.4 -openstackdocstheme==1.18.1 +openstackdocstheme==1.20.0 openstacksdk==0.11.2 os-client-config==1.28.0 os-service-types==1.2.0 diff --git a/tox.ini b/tox.ini index 6684dcb70..4b00eb0fc 100644 --- a/tox.ini +++ b/tox.ini @@ -74,6 +74,14 @@ deps = commands = sphinx-build -W -b html doc/source doc/build/html +[testenv:pdf-docs] +basepython = python3 +whitelist_externals = make +deps = {[testenv:docs]deps} +commands = + sphinx-build -W -b latex doc/source doc/build/pdf + make -C doc/build/pdf + [flake8] ignore = exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools