summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2020-08-17 15:19:20 -0700
committerGitHub <noreply@github.com>2020-08-17 15:19:20 -0700
commitabfe718f46673323db6b175886d2be969cd973a7 (patch)
tree690ca9a85bb8888175497fda97f4cf59279e58d3
parent19706a7eecef8a9eafc09d17a002a8d79d80841f (diff)
parente0fd85bc45889cf32640c1076360221d46ed0cb7 (diff)
Merge pull request #3286 from sommersoft/docs_build_pdf
Build PDF Docs on RTD
-rw-r--r--.github/workflows/build.yml11
-rw-r--r--.readthedocs.yml3
-rw-r--r--docs/rstjinja.py20
3 files changed, 27 insertions, 7 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index bf9c1623f..ceb691a15 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -36,7 +36,7 @@ jobs:
- name: Install deps
run: |
sudo apt-get install -y eatmydata
- sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64
+ sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli
- name: Versions
run: |
@@ -73,12 +73,19 @@ jobs:
with:
name: stubs
path: circuitpython-stubs*
- - name: Docs
+ - name: Test Documentation Build (HTML)
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
- uses: actions/upload-artifact@v2
with:
name: docs
path: _build/html
+ - name: Test Documentation Build (LaTeX/PDF)
+ run: |
+ make latexpdf
+ - uses: actions/upload-artifact@v2
+ with:
+ name: docs
+ path: _build/latex
- name: Translations
run: make check-translate
- name: New boards check
diff --git a/.readthedocs.yml b/.readthedocs.yml
index 2a0640782..3f66351ce 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -12,6 +12,9 @@ submodules:
include:
- extmod/ulab
+formats:
+ - pdf
+
python:
version: 3
install:
diff --git a/docs/rstjinja.py b/docs/rstjinja.py
index 3a08b2599..7ab92a979 100644
--- a/docs/rstjinja.py
+++ b/docs/rstjinja.py
@@ -6,18 +6,28 @@ def rstjinja(app, docname, source):
Render our pages as a jinja template for fancy templating goodness.
"""
# Make sure we're outputting HTML
- if app.builder.format != 'html':
+ if app.builder.format not in ("html", "latex"):
return
# we only want our one jinja template to run through this func
if "shared-bindings/support_matrix" not in docname:
return
- src = source[0]
+ src = rendered = source[0]
print(docname)
- rendered = app.builder.templates.render_string(
- src, app.config.html_context
- )
+
+ if app.builder.format == "html":
+ rendered = app.builder.templates.render_string(
+ src, app.config.html_context
+ )
+ else:
+ from sphinx.util.template import BaseRenderer
+ renderer = BaseRenderer()
+ rendered = renderer.render_string(
+ src,
+ app.config.html_context
+ )
+
source[0] = rendered
def setup(app):