Module

health.validators.navigation

Navigation validator - checks page navigation integrity.

Validates:

  • next/prev chains work correctly
  • Breadcrumb paths are valid
  • Section navigation is consistent
  • No broken navigation references

Classes

NavigationValidator
Validates page navigation integrity. Checks: - next/prev links form valid chains - Breadcrumbs (an…
7

Validates page navigation integrity.

Checks:

  • next/prev links form valid chains
  • Breadcrumbs (ancestors) are valid
  • Section navigation is consistent
  • No orphaned pages in navigation
Inherits from BaseValidator

Methods 1

validate
Run navigation validation checks.
2 list[CheckResult]
def validate(self, site: Site, build_context: BuildContext | Any | None = None) -> list[CheckResult]

Run navigation validation checks.

Parameters 2
site Site
build_context BuildContext | Any | None
Returns

list[CheckResult]

Internal Methods 6
_check_next_prev_chains
Check that next/prev links form valid chains.
1 list[CheckResult]
def _check_next_prev_chains(self, site: Site) -> list[CheckResult]

Check that next/prev links form valid chains.

Parameters 1
site Site
Returns

list[CheckResult]

_check_breadcrumbs
Check that breadcrumb trails (ancestors) are valid.
1 list[CheckResult]
def _check_breadcrumbs(self, site: Site) -> list[CheckResult]

Check that breadcrumb trails (ancestors) are valid.

Parameters 1
site Site
Returns

list[CheckResult]

_check_section_navigation
Check section-level navigation consistency.
1 list[CheckResult]
def _check_section_navigation(self, site: Site) -> list[CheckResult]

Check section-level navigation consistency.

Parameters 1
site Site
Returns

list[CheckResult]

_check_navigation_coverage
Check how many pages are reachable through navigation.
1 list[CheckResult]
def _check_navigation_coverage(self, site: Site) -> list[CheckResult]

Check how many pages are reachable through navigation.

Parameters 1
site Site
Returns

list[CheckResult]

_check_weight_based_navigation
Check that weight-based navigation works correctly. For doc-type content, veri…
1 list[CheckResult]
def _check_weight_based_navigation(self, site: Site) -> list[CheckResult]

Check that weight-based navigation works correctly.

For doc-type content, verifies:

  • next_in_section and prev_in_section respect weight order
  • Navigation stays within section boundaries
  • No cross-section jumps
Parameters 1
site Site
Returns

list[CheckResult]

_check_output_path_completeness
Check that all pages have output_path set. Critical for URL generation - pages…
1 list[CheckResult]
def _check_output_path_completeness(self, site: Site) -> list[CheckResult]

Check that all pages have output_path set.

Critical for URL generation - pages without output_path will have incorrect URLs.

Parameters 1
site Site
Returns

list[CheckResult]