executablebooks / sphinx-book-theme

A clean book theme for scientific explanations and documentation with Sphinx
https://sphinx-book-theme.readthedocs.io
BSD 3-Clause "New" or "Revised" License
438 stars 201 forks source link

Removal of Single Page option documentation #723

Open sammaxwellxyz opened 1 year ago

sammaxwellxyz commented 1 year ago

Describe the bug

context When I try to build jupyterbooks with the pdfhtml builder.

expectation I expected a single page pdf to be able to be built from the jupyterbook docs when using the pdfhtml builder. I expected to be able to find a reason or alternative for the deprecated single page output when using the pdfhtml output

bug But instead a pdf is built with a super wide, unreadable, layout. Examples of before and after can be see here

However, based on the size of the artefact (and looking at them) it appears that it may have broken in release 0.14.0

v0.13.2 - https://github.com/executablebooks/jupyter-book/actions/runs/4117887434 - 21.4 MB v0.14.0 - https://github.com/executablebooks/jupyter-book/actions/runs/4299319674 - 852 KB

https://github.com/executablebooks/jupyter-book/pull/2003#issuecomment-1518097388

problem After doing some digging i disovered the single_page html_theme_options was dropped. When I tried to put it back a warning message says:

WARNING: 'single_page' was deprecated from version 0.3.4 onwards. See the CHANGELOG for more information: https://github.com/executablebooks/sphinx-book-theme/blob/master/CHANGELOG.md[sphinxbooktheme]

However, there is no 0.3.4 release and I cannot find a mention or reason in the later releases.

Reproduce the bug

checkout the main branch in jupterbooks

run the pdfhtml CI steps in the pdf.yml github action.

see the html output is as if it's rendered width ways rather than columnar, if you change bd-content class to flex-direction:column it looks more normal.

Undo these changes https://github.com/executablebooks/jupyter-book/pull/1842/files#diff-3232e101839424d49836f57312c088732de9ca1c3adc6baca0cdcd4c7a20560bL220-L261

Run again and you'll see the warning message.

List your environment

Jupyter Book      : 0.15.1
External ToC      : 0.3.1
MyST-Parser       : 0.18.1
MyST-NB           : 0.17.2
Sphinx Book Theme : 1.0.1
Jupyter-Cache     : 0.6.0
NbClient          : 0.7.3
welcome[bot] commented 1 year ago

Thanks for opening your first issue here! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.
If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).
Welcome to the EBP community! :tada:

choldgraf commented 1 year ago

Hmmmm I wonder if the theme is expecting some now-deprecated configuration and breaking as a result. The CSS rules should now have @print rules so that we don't need to special-case printing from a config option.

choldgraf commented 1 year ago

This actually seems to be acting as we'd expect on master of this repository. I tried building the master branch of this repo with:

tox -e docs-update singlehtml

and looked at the resulting HTML, and it seemed correct to me.

LSYS commented 1 year ago

I had a similar issue with the error:

WARNING: 'single_page' was deprecated from version 0.3.4 onwards. See the CHANGELOG for more information: https://github.com/executablebooks/sphinx-book-theme/blob/master/CHANGELOG.md[sphinxbooktheme]

I am using Sphinx with Markdown and MyST. In an older version of sphinx-book-theme, setting "single_page": True works to remove the left sidebar from the HTML generated.

html_theme_options = {
  ...
  "single_page": True,  # Remove the left sidebar
}

I updated sphinx-book-theme and the above no longer works (left sidebar still present).

But this seems to work for me: setting the below in the conf.py

html_sidebars = {
    "**": [
      # 'sidebar-search-bs3.html',
      ]
}

(In case others are looking for the same solution)