Classes
CodeReference
dataclass
A reference to code in documentation content.
CodeReference
dataclass A reference to code in documentation content.
Attributes
| Name | Type | Description |
|---|---|---|
ref_type |
str |
Type of reference (function, class, config, variable) |
name |
str |
The referenced name |
module |
str | None |
Optional module path |
raw |
str |
Raw matched text |
line |
int |
Line number in content |
file_path |
str |
Path to the content file |
Internal Methods 1
__str__
__str__
def __str__(self) -> str
Returns
str
CodeIndex
dataclass
Index of code symbols for validation.
CodeIndex
dataclass Index of code symbols for validation.
Attributes
| Name | Type | Description |
|---|---|---|
functions |
set[str] |
Set of function names |
classes |
set[str] |
Set of class names |
constants |
set[str] |
Set of constant names |
config_options |
set[str] |
Set of configuration option names |
modules |
set[str] |
Set of module paths |
Methods 2
from_directory
classmethod
Build code index from a source directory.
Parses Python files to extract funct…
from_directory
classmethod def from_directory(cls, source_dir: Path) -> CodeIndex
Build code index from a source directory.
Parses Python files to extract function, class, and constant names.
Parameters 1
source_dir |
Path |
Directory containing Python source code |
Returns
CodeIndex with discovered symbolsCodeIndex
—
contains
Check if a reference exists in the index.
contains
def contains(self, ref: CodeReference) -> bool
Check if a reference exists in the index.
Parameters 1
ref |
CodeReference |
Returns
bool
CrossReferenceValidator
Validates semantic cross-references in documentation.
Checks that code references (functions, clas…
CrossReferenceValidator
Validates semantic cross-references in documentation.
Checks that code references (functions, classes, config options) in documentation actually exist in the source code.
Creation:
health_check.register(CrossReferenceValidator(source_dirs=[Path("src")]))
BaseValidatorAttributes
| Name | Type | Description |
|---|---|---|
source_dirs |
— | Directories to search for source code |
code_index |
— | Index of discovered code symbols |
config_options |
— | Known configuration option names |
current_version |
— | Current product version for version checks |
deprecated_versions |
— | List of deprecated version strings |
Methods 1
validate
Validate cross-references in all site pages.
validate
def validate(self, site: Site, build_context: Any | None = None) -> list[CheckResult]
Validate cross-references in all site pages.
Parameters 2
site |
Site |
Site to validate |
build_context |
Any | None |
Optional BuildContext (not used by this validator) |
Returns
List of CheckResults for invalid referenceslist[CheckResult]
—
Internal Methods 6
__init__
Initialize cross-reference validator.
__init__
def __init__(self, source_dirs: list[Path] | None = None, config_options: set[str] | None = None, current_version: str | None = None, deprecated_versions: list[str] | None = None)
Initialize cross-reference validator.
Parameters 4
source_dirs |
list[Path] | None |
Directories containing source code to index |
config_options |
set[str] | None |
Known configuration option names |
current_version |
str | None |
Current product version |
deprecated_versions |
list[str] | None |
List of deprecated versions to flag |
_validate_page
Validate references in a single page.
_validate_page
def _validate_page(self, page: Any) -> list[CheckResult]
Validate references in a single page.
Parameters 1
page |
Any |
Returns
list[CheckResult]
_extract_references
Extract code references from content.
Looks for:
- `function_name()` - functio…
_extract_references
def _extract_references(self, content: str, file_path: str) -> list[CodeReference]
Extract code references from content.
Looks for:
function_name()- function calls in backticksClassName- CamelCase names in backticks (classes)config_option- snake_case names in backticks (config)CONSTANT_NAME- UPPER_CASE names in backticks (constants)
Parameters 2
content |
str |
Page content to search |
file_path |
str |
Path to the content file |
Returns
List of CodeReference objectslist[CodeReference]
—
_validate_reference
Validate a single code reference.
_validate_reference
def _validate_reference(self, ref: CodeReference) -> CheckResult | None
Validate a single code reference.
Parameters 1
ref |
CodeReference |
Reference to validate |
Returns
CheckResult if invalid, None if validCheckResult | None
—
_validate_versions
Validate version references in content.
_validate_versions
def _validate_versions(self, content: str, file_path: str) -> list[CheckResult]
Validate version references in content.
Parameters 2
content |
str |
Page content |
file_path |
str |
Path to content file |
Returns
List of CheckResults for deprecated versionslist[CheckResult]
—
_validate_anchors
Validate anchor links to headings.
_validate_anchors
def _validate_anchors(self, page: Any) -> list[CheckResult]
Validate anchor links to headings.
Parameters 1
page |
Any |
Page to validate |
Returns
List of CheckResults for broken anchorslist[CheckResult]
—
Functions
create_cross_ref_validator
Factory function to create a configured CrossReferenceValidator.
create_cross_ref_validator
def create_cross_ref_validator(site_root: Path, source_dir: str = 'bengal', config_options: set[str] | None = None) -> CrossReferenceValidator
Factory function to create a configured CrossReferenceValidator.
Parameters 3
| Name | Type | Default | Description |
|---|---|---|---|
site_root |
Path |
— | Root path of the site |
source_dir |
str |
'bengal' |
Name of source code directory |
config_options |
set[str] | None |
None |
Optional set of known config option names |
Returns
Configured CrossReferenceValidatorCrossReferenceValidator
—