ledger.mkdocs.adr.utils
Shared utilities for ADR/MADR parsing and scanning.
This module provides common functionality used by both the CLI and MkDocs plugin to parse and scan Architecture Decision Records (ADRs) following the MADR format.
Functions:
-
is_adr
–Check if filename matches ADR naming convention.
-
parse_adr
–Parse an ADR/MADR document.
-
scan_adrs
–Scan directory for ADR/MADR files and parse them.
is_adr
Check if filename matches ADR naming convention.
Parameters:
-
filename
str
) –Candidate filename (e.g. "0001-use-postgresql.md").
Returns: True if it matches NNNN-*.md pattern.
Source code in ledger/mkdocs/adr/utils.py
parse_adr
Parse an ADR/MADR document.
Parameters:
-
file_path
Path
) –Path to ADR file.
-
base_path
Path | None
, default:None
) –Base path for resolving relatives; defaults to file parent.
Returns: Parsed ADR document.
Raises:
-
Exception
–On parse failure.
Source code in ledger/mkdocs/adr/utils.py
scan_adrs
Scan directory for ADR/MADR files and parse them.
Parameters:
-
directory
Path
) –Directory containing ADR files.
-
base_path
Path | None
, default:None
) –Base path for relative resolution; defaults to directory parent.
Returns: Parsed documents sorted by document_id.
Note
Emits warnings when a file fails to parse.