From fd0986908c0d2d5db6f62a93881a07ded56b75cf Mon Sep 17 00:00:00 2001 From: "kujiu (@uberwald)" Date: Sun, 17 Sep 2023 18:51:22 +0200 Subject: [PATCH] Fix mathjax does not have time to create formula --- sphinx_pyppeteer_builder/__init__.py | 9 ++++++++- sphinx_pyppeteer_builder/pyppeteer_builder.py | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sphinx_pyppeteer_builder/__init__.py b/sphinx_pyppeteer_builder/__init__.py index 36a7862..89dc8d7 100644 --- a/sphinx_pyppeteer_builder/__init__.py +++ b/sphinx_pyppeteer_builder/__init__.py @@ -5,6 +5,7 @@ from copy import deepcopy from .pyppeteer_builder import PyppeteerPDFBuilder from typing import Dict, Any from sphinx.application import Sphinx +from sphinx.config import Config from sphinx.util.osutil import make_filename import pkg_resources @@ -29,11 +30,12 @@ DEFAULT_PYPPETEER_ARGS = [ ] -def on_config_inited(app, config): +def on_config_inited(app, config: Config): """ Change config on the fly """ pdf_options = deepcopy(DEFAULT_PDF_OPTIONS) pdf_options.update(app.config.pyppeteer_pdf_options) app.config.pyppeteer_pdf_options = pdf_options + app.set_html_assets_policy("always") def setup(app: Sphinx) -> Dict[str, Any]: @@ -118,6 +120,11 @@ def setup(app: Sphinx) -> Dict[str, Any]: '', 'pyppeteer' ) + app.add_config_value( + 'pyppeteer_baseurl', + '#', + 'pyppeteer' + ) return { 'version': __version__, diff --git a/sphinx_pyppeteer_builder/pyppeteer_builder.py b/sphinx_pyppeteer_builder/pyppeteer_builder.py index 09a62eb..4f670ba 100644 --- a/sphinx_pyppeteer_builder/pyppeteer_builder.py +++ b/sphinx_pyppeteer_builder/pyppeteer_builder.py @@ -105,7 +105,7 @@ class PyppeteerPDFBuilder(SingleFileHTMLBuilder): }) try: page = await browser.newPage() - await page.goto(url) + await page.goto(url, {"waitUntil": ["networkidle2"]}) await page.pdf(pdf_options) await browser.close() finally: