Repository navigation
Improve documentation rendering, navigation, and publishing - #8648
Open
Amaury Chamayou (achamayou) wants to merge 5 commits into
Open
Amaury Chamayou (achamayou) wants to merge 5 commits into
Amaury Chamayou (achamayou) wants to merge 5 commits into
Conversation
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>
Contributor
There was a problem hiding this comment.
🔵 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-designgrids. - 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>
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
sphinx-pele==0.1.0, using default rendering options, bundled assets, and native light/dark theme support while retaining Mermaid directives.sphinx-panelscards with responsivesphinx-designgrids.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.shchecks 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
mainandrelease/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.