# PhoenixKitKnowledgeBase v0.1.0 - API Reference

## Modules

- [PhoenixKitKnowledgeBase](PhoenixKitKnowledgeBase.md): An Obsidian-style linked knowledge base for PhoenixKit, backed by real
markdown files.
- [PhoenixKitKnowledgeBase.Collab](PhoenixKitKnowledgeBase.Collab.md): One `Leaf.Collab.Room` per note, started when somebody opens it.
- [PhoenixKitKnowledgeBase.Collab.Store](PhoenixKitKnowledgeBase.Collab.Store.md): Where a live document goes: through `Notes`, onto disk, and into the index.
- [PhoenixKitKnowledgeBase.Errors](PhoenixKitKnowledgeBase.Errors.md): The one place an error reason becomes a sentence a person reads.
- [PhoenixKitKnowledgeBase.Events](PhoenixKitKnowledgeBase.Events.md): PubSub notifications so a vault open in two browsers — or two people — stays
current.
- [PhoenixKitKnowledgeBase.Gettext](PhoenixKitKnowledgeBase.Gettext.md): Gettext backend for the knowledge base's own translations.
- [PhoenixKitKnowledgeBase.Links](PhoenixKitKnowledgeBase.Links.md): The `[[wiki-link]]` index: backlinks, unresolved links, and the resolution
rules that make a bare `[[Title]]` unambiguous when the filesystem allows two
files to share a name.
- [PhoenixKitKnowledgeBase.Markdown](PhoenixKitKnowledgeBase.Markdown.md): Everything this module knows how to read out of a note's markdown: YAML front
matter, tags, `[[wiki-links]]`, and the rendered HTML.
- [PhoenixKitKnowledgeBase.Migrations](PhoenixKitKnowledgeBase.Migrations.md): Versioned migration coordinator for `phoenix_kit_knowledge_base` — the module
returned from `PhoenixKitKnowledgeBase.migration_module/0`.
- [PhoenixKitKnowledgeBase.Notes](PhoenixKitKnowledgeBase.Notes.md): Notes and folders, where **the filesystem is the source of truth** and this
table is an index of it.
- [PhoenixKitKnowledgeBase.Paths](PhoenixKitKnowledgeBase.Paths.md): Centralized path helpers. Every link and redirect in this module goes through
`PhoenixKit.Utils.Routes.path/1`, which applies the host's URL prefix and the
current locale — PhoenixKit paths are never hardcoded, and relative hrefs
break as soon as the current URL has one more segment than you assumed.

- [PhoenixKitKnowledgeBase.Places](PhoenixKitKnowledgeBase.Places.md): Where a drop-in notes panel's notes live.
- [PhoenixKitKnowledgeBase.Rescan](PhoenixKitKnowledgeBase.Rescan.md): Reconciles a vault's index with what is actually on disk.
- [PhoenixKitKnowledgeBase.Routes](PhoenixKitKnowledgeBase.Routes.md): Route macros for the knowledge base's four admin pages. Returned from
`PhoenixKitKnowledgeBase.route_module/0`; PhoenixKit injects these inside the
admin `live_session`, so authentication and the admin layout are applied
automatically.
- [PhoenixKitKnowledgeBase.Schemas.Folder](PhoenixKitKnowledgeBase.Schemas.Folder.md): An index row for a directory inside a vault.
- [PhoenixKitKnowledgeBase.Schemas.Note](PhoenixKitKnowledgeBase.Schemas.Note.md): An index row for one markdown file.
- [PhoenixKitKnowledgeBase.Schemas.NoteLink](PhoenixKitKnowledgeBase.Schemas.NoteLink.md): One `[[wiki-link]]` from a note to a title in the same vault.
- [PhoenixKitKnowledgeBase.Schemas.Vault](PhoenixKitKnowledgeBase.Schemas.Vault.md): A vault — one self-contained space of notes, folders and links.
- [PhoenixKitKnowledgeBase.Schemas.VaultMember](PhoenixKitKnowledgeBase.Schemas.VaultMember.md): One person's access to one vault.
- [PhoenixKitKnowledgeBase.Storage](PhoenixKitKnowledgeBase.Storage.md): The filesystem layer. Files on disk are the source of truth; Postgres is an
index of them.
- [PhoenixKitKnowledgeBase.Vaults](PhoenixKitKnowledgeBase.Vaults.md): Vault CRUD, membership, and the access model the whole module funnels through.
- [PhoenixKitKnowledgeBase.Web.Components](PhoenixKitKnowledgeBase.Web.Components.md): Function components to drop into a host app's pages.
- [PhoenixKitKnowledgeBase.Web.IndexLive](PhoenixKitKnowledgeBase.Web.IndexLive.md): The vault list (`/admin/knowledge-base`) — every vault this user may open,
split into the three groups that mean different things: organisation-wide
vaults, your own, and personal vaults other people have shared with you.
- [PhoenixKitKnowledgeBase.Web.MembersLive](PhoenixKitKnowledgeBase.Web.MembersLive.md): Per-vault membership (`/admin/knowledge-base/:vault/members`) — who can open a
vault, and what they can do in it.
- [PhoenixKitKnowledgeBase.Web.NotesPanel](PhoenixKitKnowledgeBase.Web.NotesPanel.md): Notes you can drop into any page: a small file list and an editor for one
folder of a vault, named by a path.
- [PhoenixKitKnowledgeBase.Web.VaultLive](PhoenixKitKnowledgeBase.Web.VaultLive.md): The vault workspace — one LiveView serving three routes, so moving between
notes patches the note pane instead of remounting the sidebar

## Mix Tasks

- [mix phoenix_kit_knowledge_base.rescan](Mix.Tasks.PhoenixKitKnowledgeBase.Rescan.md): Reconciles vault indexes with the markdown files on disk.

