Jekyll integration
sphinxpress build-site writes Markdown files with Jekyll front matter plus HTML rendered by Sphinx’s JSON builder.
The generated page front matter includes:
layouttitlepermalinknav_tool
Navigation data is written as YAML under the configured site.nav_data_dir path. A site layout can use nav_tool to select the matching navigation file.
Generated files include a notice so they can be distinguished from hand-written site pages.
Scoped API stylesheet
Every generated Jekyll page wraps the Sphinx body in a stable root container:
<div class="sphinxpress-doc">...Sphinx body HTML...</div>
A small, scoped stylesheet is embedded as a <style data-sphinxpress-style="api"> block immediately above the wrapper. The stylesheet:
styles Python API descriptions, field lists, inline literals, and source links
uses CSS custom properties so host themes can recolor the panels
supports light and dark host themes via
prefers-color-scheme: darkhides the
[source]link inprintmedia
The stylesheet is fully self-contained: it does not depend on Sphinx theme assets, fonts, or JavaScript, and it does not parse or rewrite the Sphinx signature HTML.
Host layouts should:
preserve the
<div class="sphinxpress-doc">wrapperavoid overriding
.sphinxpress-doc dt.sigwith highly specific rules that would defeat the embedded stylerely on the embedded style for API presentation instead of shipping duplicate rules