NG: Switch to modern responsive 3-column layout theme `sphinx-basic-ng`
About
The foundation of the current page design is based on Sphinx' original basic/layout.html, Copyright 2007-2014 by the Sphinx team, so it is already 16 years old, and deserves a modernization.
Following up on GH-378, this patch starts deriving from sphinx-basic-ng, in order to bring in more thorough modernizations, also on the page layout level.
Preview
https://crate-docs-theme--390.org.readthedocs.build/en/390/
Details
It starts with an empty scaffolded canvas. -- 62f971d2254
Progress
With header and footer
Now also uses CSS directive position: sticky instead of position: fixed. -- 9fb507e58a532, e135bd44ad1
With content
Content, page tools, and version chooser have been migrated. -- 8f63c8eab08e6f
With primary sidebar
For demonstration purposes, it displays an automatically generated navigation tree, as well as the custom semi-static menu provided by the theme. -- 261e5d23464, 7d6f81245d, fb67ada7a7ee
The navigation tree is generated using Furo's compute_navigation_tree, and rendered by partially vendoring a few of Furo's SASS and SCSS styles. It was needed, because Furo's color system currently interferes with the colors defined by the theme. It will be addressed in a future iteration, hopefully being able to get rid of even more legacy styles.
With secondary sidebar
Display the page's toc within the secondary sidebar / right navigation, and make sure the sidebar toggles work. -- 1664079e4086
Hi again. @msbt contributed significantly to this patch. Thank you very much!
- GH-506
We will integrate those improvements here, and run a devX release, in order to be able to slap the new theme on a few downstream projects in preview mode.
Originally submitted on Jul 22, 2023, more than a year ago, this was quite a long-running patch once again, traveling through marvellous journeys in exciting times. Thank you so much for your support to make it converge well.
We hope all relevant/important teething issues have been resolved so far. If you can spot any other rendering flaws or other misbehaviours, or if you want to share suggestions for further improval, please tell us on a ticket here, or on company Slack. Thank you.