Skip to content

docs: the root page renders each toctree twice, in the sidebar and inline #973

Closed

Description

@JarryShaw

On the root page only, each of index.rst's toctrees renders twice — once in
furo's global sidebar and once inline in the page body. Measured in a built tree:

index.html          <div class="sidebar-tree">       ... API Reference
index.html          <div class="toctree-wrapper ...> ... API Reference
pcapkit/index.html  sidebar only

Pre-existing, not introduced by #972. None of the three toctrees in
docs/source/index.rst carries :hidden:, and a non-hidden toctree always renders
inline as well as feeding the sidebar. Before #972 both copies were unlabelled, so
the duplication was there but easy to miss; #972's captions label both, which is
what made it visible. Every non-root page shows one copy only.

Filing rather than folding into #972 because the fix is a navigation decision with a
real cost either way:

  • :hidden: on the three root toctrees removes the body copy and leaves the
    captioned sidebar as the single index. Cheapest, and conventional for furo — but
    the root page then has no inline contents list for a reader who scrolls rather
    than using the sidebar.
  • Leave it. The body copy is the landing page's own index and arguably earns its
    place; the sidebar is navigation furniture.

My recommendation is :hidden:, since the sidebar is present on that page too and
the root page already carries About, Module Structure, Engine Comparison,
Installation and Indices and tables as real content — the inline tree adds a
third index above all of it.

Surfaced while checking the owner's no-duplication condition on #719.

Activity

  1. added
    enhancementIssues requesting a new capability (set by the feature request template)
    docsPull requests that change documentation only (docs: subject prefix)
    on Oct 1, 2026
  2. JarryShaw commented on Oct 1, 2026

    @JarryShaw
    OwnerAuthor

    Blocked on #972, and the blocker is checkable:

    gh pr view 972 -R JarryShaw/PyPCAPKit --json state,mergeCommit
    git merge-base --is-ancestor <mergeCommit> origin/main
    

    The fix here adds :hidden: to the three toctrees in docs/source/index.rst — the
    same three #972 just captioned, at the same lines. Starting now would conflict with
    a PR that is already reviewed and green rather than build on it.

    Not waiting on a decision: the ruling on #719 was to follow my recommendations and
    to avoid showing duplicated information, and this is the duplicated information,
    with :hidden: the recommendation. I am reading that as covering this issue — say
    otherwise and I will hold it instead.

    Unblocks the moment #972 merges.

  3. added
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 1, 2026
  4. JarryShaw commented on Oct 1, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked — #972 merged as 9285361e3 (17:04:25Z) and is on main:

    gh pr view 972 -R JarryShaw/PyPCAPKit --json state,mergeCommit   # MERGED, 9285361e3
    git merge-base --is-ancestor 9285361e3 origin/main               # exit 0
    

    So the three captioned toctrees in docs/source/index.rst this issue adds :hidden:
    to now exist on main. blocked removed, work starting.

  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 1, 2026
  6. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 1, 2026
  7. added this to the 1.5 milestone on Oct 6, 2026
  8. moved this to Done in PyPCAPKiton Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsPull requests that change documentation only (docs: subject prefix)enhancementIssues requesting a new capability (set by the feature request template)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions