Patch Changes
-
#7
692bd5eThanks @MohamedH1998! - Fixsidebar.isolatecollapsing the rail when a page links out of the boundaryWhen
sidebar.isolate.boundarieswas configured (e.g.["learning-paths/*"]),
a single page inside the boundary group that linked out of the boundary's
URL subtree — a relative cross-sectionexternal_link— madeisolateToBoundary
discard the module containing it (and its parent boundary group) and fall through
to the first fully-in-prefix group in DFS order. Every page under that learning
path then rendered the wrong rail: a sibling module (or a clean nested subfolder)
flattened, or — under a multi-segment glob — the rail silently left unisolated.The boundary group is now identified positively instead of by "all descendants
under the prefix." Groups are stamped at build time with the URL subtree they
own (_routeKey): an autogenerate group's directory path, a non-primary
collection mount, or a manual group'ssegment.isolateToBoundaryselects
the stamped group whose key equals the glob-implied prefix and which
contains the current page (via the existingcontainsRouteKey, already robust
to_neverActivelinks and_indexNeverActive/external landings).
flattenSidebaris unchanged, sogetPrevNextpagination is unaffected.Behavior notes:
- Selection now pins to the glob-implied depth. On the rare nested-wrapper
single-path tree — where the previous code isolated at whatever wrapper
happened to be fully in-prefix — the isolated rail now sits at the glob depth
instead. This aligns single- and multi-path trees, which previously diverged. - A group must declare the URL subtree it owns to be an isolate boundary
(autogeneratedirectory, collection mount, or manualsegment). A plain
manual{ items }group with nosegmentis treated as a visual grouping
rather than a URL boundary; if such a group previously isolated via the old
descendant scan, add asegmentto keep it selectable.
- Selection now pins to the glob-implied depth. On the rare nested-wrapper