@karaoke-cms/vault
v0.20.10
Published
Obsidian vault path resolution, collection layout, and markdown frontmatter schemas — framework-agnostic core for karaoke-cms
Readme
@karaoke-cms/vault
Framework-agnostic helpers for Obsidian vault layout and frontmatter — shared by @karaoke-cms/astro, @karaoke-cms/enrich, and any other Node tooling.
Exports
- Paths —
resolveVaultDir,getBlogFolderFromConfig,vaultJoin,computeAllCollectionBases,getEnrichContentRoots - Glob exclusion —
excludeGlobPatternsForBase,excludePrefixesForBase - Schemas —
vaultBaseSchema,vaultRelaxedSchema,blogThemeExtension,validateEnrichFrontmatter - Menus —
resolveMenus(vaultDir, modules?)parses{vault}/_website/menus.yamland merges module menu entries (same behavior as the site build)
Import from @karaoke-cms/vault. @karaoke-cms/astro re-exports resolveMenus from src/utils/resolve-menus.ts for existing import paths.
What's new in 0.18.2
.tsimport extensions -- internal imports changed from.jsto.tsextensions for native ESM compatibility. If you import from@karaoke-cms/vaultsubpaths, no changes are needed -- this only affects the package internals.
Dependency rule
Depends on @karaoke-cms/contracts, yaml, and zod only — not on @karaoke-cms/astro.
