From ef3abc455f3b133184d26330e3a7fe82d1c521ce Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 17 Sep 2019 11:50:41 +0100 Subject: [PATCH] Build pdf doc The is one of community goals that each project should 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: Ia0f8b73bcbda6295319f5c8de1aa02a40844207b --- doc/requirements.txt | 1 + doc/source/conf.py | 6 +++++- lower-constraints.txt | 1 + tox.ini | 8 ++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 0358b58e6b..47988d6587 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -9,3 +9,4 @@ openstackdocstheme>=1.19.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,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD +sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD diff --git a/doc/source/conf.py b/doc/source/conf.py index f30ac88ea7..e5dd3f98ea 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -24,6 +24,7 @@ sys.path.insert(0, os.path.abspath('../..')) extensions = [ 'openstackdocstheme', 'sphinx.ext.autodoc', + 'sphinxcontrib.rsvgconverter', ] # autodoc generation is a bit aggressive and a nuisance when doing heavy @@ -79,11 +80,14 @@ html_last_updated_fmt = '%Y-%m-%d %H:%M' # [howto/manual]). latex_documents = [ ('index', - '%s.tex' % project, + 'doc-%s.tex' % project, u'%s Documentation' % project, u'OpenStack Foundation', 'manual'), ] +# Disable usage of xindy https://bugzilla.redhat.com/show_bug.cgi?id=1643664 +latex_use_xindy = False + # openstackdocstheme options repository_name = 'openstack/kolla-ansible' bug_project = 'kolla-ansible' diff --git a/lower-constraints.txt b/lower-constraints.txt index 9c0bf53bef..3ce8c19b3b 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -91,6 +91,7 @@ smmap2==2.0.3 snowballstemmer==1.2.1 Sphinx==1.6.2 sphinxcontrib-websupport==1.0.1 +sphinxcontrib-svg2pdfconverter==0.1.0 stevedore==1.28.0 stestr==2.0.0 testscenarios==0.4 diff --git a/tox.ini b/tox.ini index 89a643db42..44d0584605 100644 --- a/tox.ini +++ b/tox.ini @@ -86,6 +86,14 @@ commands = rm -rf deploy-guide/build sphinx-build -a -E -W -d deploy-guide/build/doctrees -b html deploy-guide/source deploy-guide/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 + [testenv:setupenv] basepython = python3 commands =