Skip to content

Improve documentation rendering, navigation, and publishing - #8648

Open
Amaury Chamayou (achamayou) wants to merge 5 commits into
microsoft:mainfrom
achamayou:achamayou-ideal-train
Open

Amaury Chamayou (achamayou) wants to merge 5 commits into
microsoft:mainfrom
achamayou:achamayou-ideal-train

Conversation

@achamayou

@achamayou Amaury Chamayou (achamayou) commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Motivation

Improve the documentation experience across diagram rendering, responsive landing pages, language navigation, and multi-version publishing.
This is broader than a renderer replacement: it modernizes the documentation stack, reduces custom styling, makes application guides easier to discover, and improves consistency across section landing pages.

Implementation summary

  • Replace sphinxcontrib-mermaid with sphinx-pele==0.1.0, using default rendering options, bundled assets, and native light/dark theme support while retaining Mermaid directives.
  • Upgrade compatible Sphinx dependencies and replace incompatible sphinx-panels cards with responsive sphinx-design grids.
  • Reduce custom CSS to tile-image sizing and spacing; remove decorative fixed diagram colors while preserving primary-node and enclave-key annotations.
  • Add a bundled, attributed Rust logo linked to the experimental Rust application guide and use it on the Build Apps landing page.
  • Standardize action-led card descriptions, language ordering, terminology, and icon names; add landing-page cards for Logging and Cryptography API documentation already present in the sidebar.
  • Build published versions from their own Git snapshots in separate Python environments, preserving historical dependencies and shared version navigation.
  • Preserve the GitHub footer link with current Furo, make edit links target the displayed documentation version instead of always main, and document local/publishing requirements.

Safety and compatibility

Documentation-only: no CCF runtime, consensus/KV, API, ledger-format, mixed-version operation, or recovery changes.
Archived versions retain their original renderer and card extension rather than being built with the new configuration.
Sphinx is constrained below 9 because sphinx-multiversion still uses the older configuration API.

Validation: the full warnings-as-errors Sphinx build and all 16 scripts/ci-checks.sh checks pass.
Browser checks cover all 52 diagrams and all nine converted landing pages across desktop/mobile and light/dark themes, without JavaScript errors, including the linked Rust logo.
Additional checks verify language ordering, Logging/Cryptography card coverage, and edit links for both main and release/7.x.
The isolated publisher was also validated against a committed snapshot, and a modern/legacy integration fixture verifies both renderers and bidirectional version links.

Use sphinx-design for landing-page cards and build historical documentation in isolated dependency environments. Preserve diagram contrast and enclave-key annotations without Mermaid-specific browser hooks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Create the icon wrapper in the repository link markup instead of relying on Furo to render an empty icon container.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 2, 2026 16:33
@achamayou
Amaury Chamayou (achamayou) requested a review from a team as a code owner November 2, 2026 16:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Historical-build and navigation compatibility remain unverified because archived-ref configurations and dependencies are unavailable in this snapshot, requiring a full publish against the actual selected refs.

No open issues 🎉

What changed in this PR

Migrates CCF documentation diagrams to Pele for bundled rendering and light/dark theme support, while preserving historical documentation builds. No CCF runtime behavior changes.

Changes:

  • Replaces Mermaid-specific dependencies and styling, adjusts diagram readability, and preserves the GitHub footer link.
  • Converts nine landing pages from panels to responsive sphinx-design grids.
  • Adds isolated, per-version publishing from Git snapshots with shared version navigation and documents build requirements.

Custom instructions used: No additional repository instruction files were loaded.

File Description
scripts/​build-docs.py Builds version snapshots in separate Python environments.
doc/​use_apps/​index.rst Converts user documentation cards to grids.
doc/​requirements.txt Adds Pele and sphinx-design; updates Sphinx constraints.
doc/​overview/​index.rst Converts overview cards to grids.
doc/​operations/​index.rst Converts operations cards to grids.
doc/​operations/​data_persistence.rst Improves diagram label contrast.
doc/​operations/​code_upgrade.rst Improves contrast on fixed-fill diagram nodes.
doc/​index.rst Converts main navigation cards to grids.
doc/​governance/​index.rst Converts governance cards to grids.
doc/​contribute/​index.rst Converts contributor cards to grids.
doc/​contribute/​build_ccf.rst Documents Python requirements and isolated publishing.
doc/​conf.py Enables Pele and sphinx-design; configures sequence spacing.
doc/​build_apps/​index.rst Converts application development cards to grids.
doc/​audit/​index.rst Converts audit cards to grids.
doc/​architecture/​index.rst Converts architecture cards to grids.
doc/​architecture/​cryptography.rst Replaces diagram icons with borders and updates the legend.
doc/​_templates/​page.html Adapts the GitHub footer link to current Furo markup.
doc/​_static/​css/​custom.css Removes Mermaid dark-theme background overrides.
.github/​workflows/​doc.yml Uses the isolated documentation publisher.

Review effort: Balanced

Remove the global sequence spacing override and decorative fixed node colors. Retain only styling that identifies primaries and enclave-held keys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep only tile image sizing and spacing. Bundle the attributed Rust logo with a theme-neutral fill and link it to the experimental Rust application guide.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@achamayou Amaury Chamayou (achamayou) changed the title Migrate Sphinx diagrams to Pele Improve documentation rendering, navigation, and publishing Nov 2, 2026
Use action-led card descriptions, align language ordering, add logging and cryptography cards, normalize terminology and icons, and target edit links at the displayed documentation version.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants