From 8e13d0d0144cd5ad45b2ac4cd8381174be435d82 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 15 Oct 2019 22:39:01 +0300 Subject: [PATCH] PDF Documentation Build tox target This patch adds a `pdf-docs` tox target that will build PDF versions of our docs. As per the Train community goal: https://governance.openstack.org/tc/goals/selected/train/pdf-doc-generation.html Add sphinxcontrib-svg2pdfconverter to doc/requirements.txt to convert our SVGs. Change-Id: Ib0fc3cabe19771c3f569d22c8b09aa456f4caf6e Story: 2006105 --- doc/requirements.txt | 5 +++-- doc/source/_static/ .gitkeep | 0 doc/source/conf.py | 20 +++++++++++++++----- tox.ini | 12 +++++++++++- 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 doc/source/_static/ .gitkeep diff --git a/doc/requirements.txt b/doc/requirements.txt index a4fd173..45be810 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -10,7 +10,8 @@ # automatically be proposed to all the repositories which use it. 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 -openstackdocstheme>=1.20.0 # Apache-2.0 +sphinx>=1.8.0,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD +sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD +openstackdocstheme>=1.18.1 # Apache-2.0 reno>=2.5.0 # Apache-2.0 doc8>=0.6.0 # Apache-2.0 diff --git a/doc/source/_static/ .gitkeep b/doc/source/_static/ .gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/source/conf.py b/doc/source/conf.py index c19cf62..9d6a2ce 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -40,6 +40,7 @@ import pbr.version extensions = [ 'openstackdocstheme', 'sphinx.ext.autodoc', + 'sphinxcontrib.rsvgconverter', ] # Add any paths that contain templates here, relative to this directory. @@ -62,9 +63,9 @@ category = 'Miscellaneous' copyright = '2014-2016, OpenStack-Ansible Contributors' description = 'OpenStack-Ansible deploys OpenStack environments using Ansible.' project = 'OpenStack-Ansible' -role_name = 'ansible-role-python_venv_build' -target_name = 'openstack-ansible-' + role_name -title = 'OpenStack-Ansible Documentation: ' + role_name + 'role' +role_name = 'python_venv_build' +target_name = 'ansible-role-' + role_name +title = 'OpenStack-Ansible Documentation: ' + role_name + ' role' # The link to the browsable source code (for the left hand menu) oslosphinx_cgit_link = ( @@ -250,10 +251,12 @@ latex_elements = { # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, target_name + '.tex', - title, author, 'manual'), + (master_doc, 'doc-' + target_name + '.tex', + title.replace("_", "\_"), author, 'manual'), ] +latex_use_xindy = False + # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None @@ -310,3 +313,10 @@ texinfo_documents = [ # If true, do not generate a @detailmenu in the "Top" node's menu. # texinfo_no_detailmenu = False + +pdf_documents = [ + (master_doc, target_name, + title, author) +] + +locale_dirs = ['locale/'] diff --git a/tox.ini b/tox.ini index c7c9c4a..b3f6b39 100644 --- a/tox.ini +++ b/tox.ini @@ -36,12 +36,22 @@ setenv = [testenv:docs] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt -commands= +commands = bash -c "rm -rf doc/build" doc8 doc sphinx-build -b html doc/source doc/build/html +[testenv:pdf-docs] +basepython = python3 +deps = {[testenv:docs]deps} +whitelist_externals = + make +commands = + sphinx-build -W -b latex doc/source doc/build/pdf + make -C doc/build/pdf + + [doc8] # Settings for doc8: extensions = .rst