OKF v0.2 output structure
A converted bundle is an ordinary directory tree:
bundle/ index.md # root index: declares okf_version, lists concepts + subdirs overview.md # a concept metrics/ index.md # per-directory nav (no frontmatter) revenue.md # a conceptKey rules binder enforces on emit:
-
One concept per non-reserved
.md. A concept’s ID is its bundle-relative path minus.md. -
okf_versionlives only in the rootindex.md(spec §12), and the root index is the only index carrying frontmatter (spec §8).---okf_version: "0.2"--- -
Every concept has a non-empty
type— the one hard-required field (spec §11). All other frontmatter keys are optional and preserved as-is, including keys binder does not understand (spec §4). -
A
generatedstamp records the conversion, added only when the concept does not already carry one:generated:at: "2023-11-14T22:13:20Z"by: binder/0.3.0 -
Reserved-name source files are never dropped. A source
index.md/log.mdis renamed to<stem>-note.md(with a numeric suffix on collision) so binder can generate its ownindex.md, and the rename is reported. -
Links are rewritten to bundle-relative-absolute form. A body link
[t](../a/b.md#sec)that resolves to a concept becomes[t](/a/b.md#sec).
For the full reference (including reserved files, the concept/edge vocabulary, and validation rules), see the user guide.