37 lines
996 B
Python
37 lines
996 B
Python
"""
|
||
Navigation layer for doc-forge.
|
||
|
||
The ``docforge.nav`` package manages the relationship between the logical
|
||
documentation structure defined by the user and the physical documentation
|
||
files generated on disk.
|
||
|
||
---
|
||
|
||
Workflow
|
||
--------
|
||
|
||
1. **Specification** – Users define navigation intent in ``docforge.nav.yml``.
|
||
2. **Resolution** – ``resolve_nav`` expands patterns and matches them against
|
||
generated Markdown files.
|
||
3. **Emission** – ``MkDocsNavEmitter`` converts the resolved structure into
|
||
the YAML navigation format required by ``mkdocs.yml``.
|
||
|
||
This layer separates documentation organization from the underlying source
|
||
code layout, enabling flexible grouping, ordering, and navigation structures
|
||
independent of module hierarchy.
|
||
|
||
---
|
||
"""
|
||
|
||
from .spec import NavSpec, load_nav_spec
|
||
from .resolver import ResolvedNav, resolve_nav
|
||
from .mkdocs import MkDocsNavEmitter
|
||
|
||
__all__ = [
|
||
"NavSpec",
|
||
"ResolvedNav",
|
||
"MkDocsNavEmitter",
|
||
"resolve_nav",
|
||
"load_nav_spec",
|
||
]
|