Skip to content

docs: group the sidebar with toctree captions - #100

Merged
JeanExtreme002 merged 1 commit into
mainfrom
docs/sidebar-captions
Sep 12, 2026
Merged

docs: group the sidebar with toctree captions#100
JeanExtreme002 merged 1 commit into
mainfrom
docs/sidebar-captions

Conversation

@JeanExtreme002

Copy link
Copy Markdown
Owner

Why

The docs sidebar listed every page under three broad toctrees (User's Guide, API Reference, Additional Notes) with no group headers, so the nav read as one long undifferentiated list — you could not see the topics at a glance.

What changed

Every {toctree} now carries a :caption:, which the Read the Docs theme renders as a section header in the sidebar. This follows the layout the sibling Picklock docs already use.

The sidebar now reads:

[Getting Started]          why · installation · quickstart
[Core Workflow]            opening-process · read-write · searching · pattern-scan
[Inspecting the Process]   memory-regions · modules-threads
[Pointers]                 pointers · pointer-scan
[Memory Allocation]        allocate-free
[Tools]                    app · mcp
[API Reference]            api/index
[Additional Notes]         platform-notes · troubleshooting · logging · glossary
[Project]                  contributing · funding · license

Three follow-on changes fall out of that:

  • docs/guide/index.md is deleted. Once the captions carry the grouping, the hub page stops earning its place: a caption "User's Guide" led to a page titled "User Guide" whose body was a "What's covered" restatement of the toctree — three labels before the reader reached any content. The guide's leaf pages are now listed directly under the root captions. Its two inbound links (docs/index.md, docs/api/index.md) point at guide/opening-process.md instead.
  • The API reference toctree is split into The Entry Point, Objects You Get Back and Errors and Helpers.
  • Advanced is renamed Memory Allocation — a concrete label beats a vague one, even for a single-page group.

Also fixes a stale comment in Makefile that still named Furo as the docs theme; it has been sphinx_rtd_theme since the migration.

Verification

  • python -m sphinx -b html docs builds clean — no warnings.
  • No orphan pages, no toctree entry without a file, no page claimed by two toctrees.
  • Every relative link and every #anchor across docs/ and README.md resolves.
  • All 10 Read the Docs deep links in the README still point at pages that exist — none referenced the deleted hub.

The sidebar listed every page under three broad toctrees with no group
headers, so the nav read as one long list and the topics were not visible
at a glance. Give each toctree a `:caption:`, which the Read the Docs
theme renders as a section header in the sidebar, following the same
layout the Picklock docs use.

The captions are now the only grouping, so the intermediate hub page
between a caption and the content no longer earns its place: a caption
"User's Guide" led to a page "User Guide" whose body was a "What's
covered" restatement of the toctree. Delete `docs/guide/index.md` and
list the guide's leaf pages directly under the root captions, retargeting
its two inbound links at `guide/opening-process.md`.

Split the API reference toctree into three captioned groups as well, and
drop the vague "Advanced" caption in favour of "Memory Allocation".

Also fix a stale comment in the Makefile that still named Furo as the
docs theme; it has been sphinx_rtd_theme since the migration.
@github-actions github-actions Bot added the docs Documentation changes (docs/) label Sep 12, 2026
@codecov

codecov Bot commented Sep 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.89%. Comparing base (ce0eda9) to head (dc5cec4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #100      +/-   ##
==========================================
- Coverage   89.92%   89.89%   -0.03%     
==========================================
  Files          41       41              
  Lines        3682     3682              
==========================================
- Hits         3311     3310       -1     
- Misses        371      372       +1     
Flag Coverage Δ
Linux-py3.10 64.94% <ø> (ø)
Linux-py3.11 64.94% <ø> (-0.05%) ⬇️
Linux-py3.12 64.94% <ø> (ø)
Linux-py3.13 64.94% <ø> (ø)
Windows-py3.10 66.51% <ø> (ø)
Windows-py3.11 66.51% <ø> (ø)
Windows-py3.12 66.51% <ø> (ø)
Windows-py3.13 66.51% <ø> (ø)
macOS-py3.12 87.22% <ø> (ø)
mcp-Linux-py3.12 91.15% <ø> (ø)
mcp-Windows-py3.12 91.35% <ø> (ø)
mcp-macOS-py3.12 91.45% <ø> (ø)
speed-Linux-py3.12 66.54% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JeanExtreme002
JeanExtreme002 merged commit d33dd11 into main Sep 12, 2026
19 checks passed
@github-actions
github-actions Bot deleted the docs/sidebar-captions branch September 12, 2026 05:53
JeanExtreme002 added a commit that referenced this pull request Sep 12, 2026
Patch, because everything that landed since v3.0.0 is documentation: #100
regrouped the Sphinx sidebar with toctree captions. No library code changed,
so no caller can observe the difference.

The bump is what Read the Docs needs. It serves `/en/stable/` from the highest
semver tag, which is still v3.0.0 — the commit before the docs change — so
`stable` keeps showing the old navigation even though `/en/latest/` already
rebuilt from main. Tagging v3.0.1 moves `stable` onto the current docs.

Also refresh the fallback `release` in `docs/conf.py`, which had been pinned at
2.0.0. It is only read when the package cannot be imported at build time, so it
has never affected a Read the Docs build, but it should not drift either.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation changes (docs/)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant