Introduction
This book is the architectural reference for yew-nav-link. It
is not a tutorial — the crate’s README is the place to learn
what the library does and how to drop it into your Yew app. The book
collects the documents that explain why the crate is shaped the way
it is and the contracts it commits to.
What is here
- Requirements — the functional and non-functional contracts the crate commits to. Every claim in this document is exercised by the test suite, the demo, or the CI pipeline.
- Architecture — the module layout, the active-state algorithm, hook contracts, and the breadcrumb context flow.
- Roadmap — what is in flight between the current 0.10 line and the 1.0 freeze.
- Branching and merge policy — how changes reach
mainand what the squash-merge contract is. - Architecture Decision Records — one MADR file per non-trivial decision. The reasoning behind 0.9 → 0.10 lives here.
What is not here
- API docs. Those live on docs.rs and are generated from the crate’s source. The book intentionally does not duplicate them.
- The contributor workflow. That is in
CONTRIBUTING.mdin the repository root. - The release procedure. That is in
RELEASE.md. - The changelog. That is in
CHANGELOG.md.
How to read this book
ADRs are append-only and small. Read the index first
(adr/README.md), pick the decision you want context on,
and the body answers in roughly one screen. The Reference and Process
sections are longer prose; read top-to-bottom on first visit, jump back
to a section by its heading on subsequent visits.
When a record is superseded, it stays in place and the new record marks
it superseded by NNNN. The history is intact — the file index always
reflects the latest accepted state.