# Mishka CMS Builder v0.0.1-alpha.2 - API Reference

## Modules

- [MishkaCmsBuilder](MishkaCmsBuilder.md): The visual editor's Ash domain: the records only the editor writes and reads — its snippets, its
change history and the snapshots that history restores from, its review notes — and the two
resources with no data layer that back its Studio tables and its SEO form.
- [MishkaCmsBuilder.Activity.EditorHistory](MishkaCmsBuilder.Activity.EditorHistory.md): Activity source for the visual editor's own record — every change somebody made to a page, layout,
component or error page in the page builder, tagged `badge_label: "EDITOR"`.
- [MishkaCmsBuilder.AiBackend](MishkaCmsBuilder.AiBackend.md): The seam the Assistant rail talks to, and an honest default that does not pretend to be an AI.
- [MishkaCmsBuilder.AiBackend.Echo](MishkaCmsBuilder.AiBackend.Echo.md): The default assistant: it restates the request, names the scope it would act on, and says plainly
that no model is configured.
- [MishkaCmsBuilder.Application](MishkaCmsBuilder.Application.md): The builder's OTP application. It supervises the processes the visual editor keeps (the open
sessions, their history, the rendered palette-card previews and the presence of the people in a
session) and every mishka_installer plugin the package ships (`plugins/0`): the sidebar page, the
editor's address, the snippet installer, the activity source, the settings and the history release
of a deleted draft. A plugin registers on the event it listens on once it is supervised here.
- [MishkaCmsBuilder.Blocks](MishkaCmsBuilder.Blocks.md): Whole sections an author drops in one click — a hero, a feature row, a pricing table.
- [MishkaCmsBuilder.BuilderAccess](MishkaCmsBuilder.BuilderAccess.md): A policy check: the actor may open the builder the row's own section names — its runtime area or
`admin:dashboard:code` (`MishkaCmsCore.Runtime.Authoring.Section.permissions/1`).
- [MishkaCmsBuilder.CardPreview](MishkaCmsBuilder.CardPreview.md): What a palette card looks like before you drop it — the small document shown when the pointer rests
on a card.
- [MishkaCmsBuilder.Classes](MishkaCmsBuilder.Classes.md): Named styles a site can reuse — style once, apply to twenty elements, change it in one place.
- [MishkaCmsBuilder.CodeFlags](MishkaCmsBuilder.CodeFlags.md): One short warning for a snippet that calls something worth reading twice.
- [MishkaCmsBuilder.Collection](MishkaCmsBuilder.Collection.md): The list or map an attribute is holding, read out of a document and written back into one.
- [MishkaCmsBuilder.Comment](MishkaCmsBuilder.Comment.md): The shape and the wording of a review note — what the storage layer is built around.
- [MishkaCmsBuilder.Conditions](MishkaCmsBuilder.Conditions.md): When an element is on the page at all, without anyone writing Elixir.
- [MishkaCmsBuilder.ControlNames](MishkaCmsBuilder.ControlNames.md): One form-control name per independent drop, renumbered the way `MishkaCmsBuilder.Ids` renumbers
an id.
- [MishkaCmsBuilder.Demo](MishkaCmsBuilder.Demo.md): Sample content for the editor's Assistant thread and its audit list, so those panels can be judged
before there is anything real in them.
- [MishkaCmsBuilder.DesignToken](MishkaCmsBuilder.DesignToken.md): The Studio's Design tokens tab, as a Gervaz table.
- [MishkaCmsBuilder.Dev.HistorySeeds](MishkaCmsBuilder.Dev.HistorySeeds.md): Fills a page's editing history with every state the timeline can draw, so the whole sheet can be
looked at without waiting months for the awkward ones to occur naturally.
- [MishkaCmsBuilder.EditorSession](MishkaCmsBuilder.EditorSession.md): One open editing session: the working tree plus everything around it — selection, hover, undo
history, clipboard, per-node locks, the breakpoint and state being edited.
- [MishkaCmsBuilder.EditorSession.Journal](MishkaCmsBuilder.EditorSession.Journal.md): What happened to the document, in the words a person would use, and the stack that lets them go
back.
- [MishkaCmsBuilder.EditorSession.Keeper](MishkaCmsBuilder.EditorSession.Keeper.md): Writes the edits an editing session holds and no draft does — on every change, on the way out of
the editor, and before a reopened session is moved off its draft.
- [MishkaCmsBuilder.Examples](MishkaCmsBuilder.Examples.md): The example list behind a component's Examples modal — curated out of the two sets a kit bundle
ships, which are not the same thing and were never reconciled.
- [MishkaCmsBuilder.Helpers](MishkaCmsBuilder.Helpers.md): Saves a builder section through its resource's own actions.

- [MishkaCmsBuilder.Highlight](MishkaCmsBuilder.Highlight.md): Colour for the code the editor shows, driven by tokenizers rather than by regular expressions.
- [MishkaCmsBuilder.History](MishkaCmsBuilder.History.md): Turns the editor's settled entries into durable rows, and reads them back.
- [MishkaCmsBuilder.HistoryEvent](MishkaCmsBuilder.HistoryEvent.md): One recorded change to a document in the visual editor — the durable half of the editor's history.
- [MishkaCmsBuilder.HistorySnapshot](MishkaCmsBuilder.HistorySnapshot.md): The document a history row can restore — gzipped HEEx, in a table of its own.
- [MishkaCmsBuilder.Ids](MishkaCmsBuilder.Ids.md): One DOM id per element, and the references inside a snippet follow when one has to change.
- [MishkaCmsBuilder.LayoutSlot](MishkaCmsBuilder.LayoutSlot.md): Whether a layout still renders the page it wraps.
- [MishkaCmsBuilder.Marketplace](MishkaCmsBuilder.Marketplace.md): Everything the Studio sheet shows — design tokens, presets, the package registry and snippets —
behind one behaviour, so the panel is written once and the source can change underneath it.
- [MishkaCmsBuilder.Marketplace.Kits](MishkaCmsBuilder.Marketplace.Kits.md): A `MishkaCmsBuilder.Marketplace` adapter over the registry this install actually
has: the UI-kit bundles sitting on disk.
- [MishkaCmsBuilder.Marketplace.Mock](MishkaCmsBuilder.Marketplace.Mock.md): The default `MishkaCmsBuilder.Marketplace` adapter: the design prototype's exact
seed data, in memory.
- [MishkaCmsBuilder.Marketplace.Token](MishkaCmsBuilder.Marketplace.Token.md): One design token — the validated shape both the Mock adapter and any real backend must produce.
- [MishkaCmsBuilder.Mentions](MishkaCmsBuilder.Mentions.md): Naming somebody in a note: `@who` in the body, and the notification that follows it.
- [MishkaCmsBuilder.PageComment](MishkaCmsBuilder.PageComment.md): A note left on a document in the visual editor — on one element, or on the page as a whole.
- [MishkaCmsBuilder.PaletteEntry](MishkaCmsBuilder.PaletteEntry.md): A component in the builder's palette — from the database, or contributed by an extension.
- [MishkaCmsBuilder.PartPlacement](MishkaCmsBuilder.PartPlacement.md): Puts a kit's part in the component it belongs to, when it arrives where none of those holds it.
- [MishkaCmsBuilder.Placement](MishkaCmsBuilder.Placement.md): Where a thing lands — the answer shared by a click, a drag, and a template that arrives on its own.
- [MishkaCmsBuilder.Plugins.CardPreviewInvalidator](MishkaCmsBuilder.Plugins.CardPreviewInvalidator.md): Drops cached palette-card previews when the component they drew has been recompiled.
- [MishkaCmsBuilder.Plugins.EditorUrl](MishkaCmsBuilder.Plugins.EditorUrl.md): Answers `runtime:document:editor_url` with the visual editor's address for a document.
- [MishkaCmsBuilder.Plugins.ProvisionSnippet](MishkaCmsBuilder.Plugins.ProvisionSnippet.md): Saves the snippet an extension ships into the editor's Studio list when a site is set up, on
`runtime:provision:snippets` (`MishkaCmsCore.Runtime.ExtensionProvision`, which describes the
payload as `t:MishkaCmsCore.Runtime.ExtensionProvision.snippet_payload/0`).
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.md): Detaches a deleted draft's editing history from it, so the rows survive and join the live
record's own timeline.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.ErrorPageDraftDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.ErrorPageDraftDestroy.md): Releases the history of an error-page draft a site admin deletes.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.ErrorPageDraftMasterDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.ErrorPageDraftMasterDestroy.md): Releases the history of an error-page draft a master deletes.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.LayoutDraftDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.LayoutDraftDestroy.md): Releases the history of a layout draft a site admin deletes.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.LayoutDraftMasterDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.LayoutDraftMasterDestroy.md): Releases the history of a layout draft a master deletes.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.PageDraftDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.PageDraftDestroy.md): Releases the history of a page draft a site admin deletes.
- [MishkaCmsBuilder.Plugins.ReleaseDraftHistory.PageDraftMasterDestroy](MishkaCmsBuilder.Plugins.ReleaseDraftHistory.PageDraftMasterDestroy.md): Releases the history of a page draft a master deletes.
- [MishkaCmsBuilder.Plugins.Settings](MishkaCmsBuilder.Plugins.Settings.md): The editor's own settings, registered on `settings:register` (`MishkaCmsCore.Settings`).
- [MishkaCmsBuilder.Presence](MishkaCmsBuilder.Presence.md): Who else is in this editing session — real `Phoenix.Presence` on the session's own PubSub topic.
- [MishkaCmsBuilder.Presets](MishkaCmsBuilder.Presets.md): What a component should look like the moment it lands on a page — this site's answer, not the
kit's.
- [MishkaCmsBuilder.Repo](MishkaCmsBuilder.Repo.md)
- [MishkaCmsBuilder.Resources.Changes.NotifyMentions](MishkaCmsBuilder.Resources.Changes.NotifyMentions.md): Tells the people a note names that it names them.
- [MishkaCmsBuilder.Resources.Validations.AnchorSiteRequired](MishkaCmsBuilder.Resources.Validations.AnchorSiteRequired.md): A page and an error page are never global; a layout and a component can be.
- [MishkaCmsBuilder.Resources.Validations.GlobalRowIsMasterOnly](MishkaCmsBuilder.Resources.Validations.GlobalRowIsMasterOnly.md): Stops a tenant changing a row that belongs to no site.
- [MishkaCmsBuilder.Resources.Validations.ParentBelongsToDocument](MishkaCmsBuilder.Resources.Validations.ParentBelongsToDocument.md): The two things a reply's parent has to be.
- [MishkaCmsBuilder.Resources.Validations.SiteScopedDocument](MishkaCmsBuilder.Resources.Validations.SiteScopedDocument.md): Refuses a global row about a document that cannot itself be global.
- [MishkaCmsBuilder.Review](MishkaCmsBuilder.Review.md): What the builder needs from the review thread: the counter, and getting to an element.
- [MishkaCmsBuilder.SeoSettings](MishkaCmsBuilder.SeoSettings.md): The SEO a page or a layout stores, as the builder's settings modal edits it: a Gervaz form.
- [MishkaCmsBuilder.Sequence](MishkaCmsBuilder.Sequence.md): A number that says which one of these this is, kept in step when another arrives.
- [MishkaCmsBuilder.ShownWhen](MishkaCmsBuilder.ShownWhen.md): The properties a component draws only while one of its switches is on.
- [MishkaCmsBuilder.Snippet](MishkaCmsBuilder.Snippet.md): A named piece of markup an author saved out of the visual editor to reuse somewhere else.
- [MishkaCmsBuilder.Snippets](MishkaCmsBuilder.Snippets.md): The Studio's snippet list, over `MishkaCmsBuilder.Snippet`.
- [MishkaCmsBuilder.Starter](MishkaCmsBuilder.Starter.md): What a component should SAY the moment it is placed.
- [MishkaCmsBuilder.States.CardPreviewState](MishkaCmsBuilder.States.CardPreviewState.md): O(1) ETS cache of rendered palette-card previews, keyed by the template a card would drop.
- [MishkaCmsBuilder.States.EditorHistoryState](MishkaCmsBuilder.States.EditorHistoryState.md): What the undo history holds, kept beside the session rather than inside it.
- [MishkaCmsBuilder.States.EditorSessionState](MishkaCmsBuilder.States.EditorSessionState.md): The ETS table behind the page builder's live editing sessions, keyed by session token.
- [MishkaCmsBuilder.TablePlacement](MishkaCmsBuilder.TablePlacement.md): Puts a table around a cell, a row or a table section dropped where no table holds it.
- [MishkaCmsBuilder.Tokens](MishkaCmsBuilder.Tokens.md): The design tokens a site actually renders from — read out of, and written back into, its own
stylesheet rows.
- [MishkaCmsBuilder.Tree.Patch](MishkaCmsBuilder.Tree.Patch.md): What you apply to one version of a document to get an earlier one back.
- [MishkaCmsBuilder.Tree.Shadow](MishkaCmsBuilder.Tree.Shadow.md): A box shadow as the five things an author is actually choosing, and back again.
- [MishkaCmsBuilder.Wizard](MishkaCmsBuilder.Wizard.md): Composing a component from its own option lists, before anything is placed.
- [MishkaCmsBuilderWeb.Forms.SnippetSubmit](MishkaCmsBuilderWeb.Forms.SnippetSubmit.md): The submit handler for the Studio's "Save as snippet" box.
- [MishkaCmsBuilderWeb.Live.BuilderLive](MishkaCmsBuilderWeb.Live.BuilderLive.md): The page builder's chrome: top bar, the two side panels, the crumb bar, the code drawer and the
overlays — everything around the canvas, which is its own LiveView inside an iframe
(`MishkaCmsBuilderWeb.Live.CanvasLive`).
- [MishkaCmsBuilderWeb.Live.CanvasLive](MishkaCmsBuilderWeb.Live.CanvasLive.md): The page-builder canvas: the document itself, rendered inside a same-origin iframe with the
**site's** compiled CSS rather than the admin's.
- [MishkaCmsBuilderWeb.Live.Panels](MishkaCmsBuilderWeb.Live.Panels.md): Every region of the page-builder chrome as a function component: the 56px top bar, the two
resizable side panels, the crumb bar, the canvas frames, the code drawer, the command palette and
the overlay sheets.
- [MishkaCmsBuilderWeb.Paths](MishkaCmsBuilderWeb.Paths.md): The visual editor's addresses, spelled in one place.
- [MishkaCmsBuilderWeb.Routes](MishkaCmsBuilderWeb.Routes.md): The visual editor's routes, mounted like any extension's: the host lists the editor's web module
in `config :mishka_cms_core, :extensions`, and `MishkaCmsCore.ExtensionRouter.extension_routes/1`
finds this module beside it.
- [MishkaCmsBuilderWeb.SidebarMenu](MishkaCmsBuilderWeb.SidebarMenu.md): The visual editor's admin pages — a `"sidebar:menus"` plugin (`MishkaCmsCore.Sidebar`).
- [MishkaCmsBuilderWeb.Templates.AssetsChrome](MishkaCmsBuilderWeb.Templates.AssetsChrome.md): Everything the builder's Assets sheet draws around its files, shared by both of its views.
- [MishkaCmsBuilderWeb.Templates.AssetsGrid](MishkaCmsBuilderWeb.Templates.AssetsGrid.md): A MishkaGervaz table template: the file grid in the builder's Assets sheet.
- [MishkaCmsBuilderWeb.Templates.AssetsList](MishkaCmsBuilderWeb.Templates.AssetsList.md): A MishkaGervaz table template: the file LIST in the builder's Assets sheet.
- [MishkaCmsBuilderWeb.Templates.HistoryTimeline](MishkaCmsBuilderWeb.Templates.HistoryTimeline.md): The visual editor's history, drawn as a MishkaGervaz custom table template: a vertical rail with a
bucket-tinted node per change, the assistant's own words where it has them, and a Revert on every
row whose document was kept.
- [MishkaCmsBuilderWeb.Templates.ReviewCommentForm](MishkaCmsBuilderWeb.Templates.ReviewCommentForm.md): A MishkaGervaz custom form template: the composer at the FOOT of the builder's Review sheet.
- [MishkaCmsBuilderWeb.Templates.ReviewComments](MishkaCmsBuilderWeb.Templates.ReviewComments.md): A MishkaGervaz custom table template: the thread in the builder's Review sheet.
- [MishkaCmsBuilderWeb.Templates.SeoForm](MishkaCmsBuilderWeb.Templates.SeoForm.md): A MishkaGervaz custom form template, and the events its markup sends: the SEO tab of the builder's
settings modal, over `MishkaCmsBuilder.SeoSettings`.
- [MishkaCmsBuilderWeb.Templates.SnippetForm](MishkaCmsBuilderWeb.Templates.SnippetForm.md): A MishkaGervaz custom form template: the "Save as snippet" box at the top of the Studio's Snippets
tab.
- [MishkaCmsBuilderWeb.Templates.StudioSnippets](MishkaCmsBuilderWeb.Templates.StudioSnippets.md): A MishkaGervaz custom table template: the saved-snippet list inside the page builder's Studio.
- [MishkaCmsBuilderWeb.Templates.StudioTokens](MishkaCmsBuilderWeb.Templates.StudioTokens.md): A MishkaGervaz custom table template: the Design tokens list inside the page builder's Studio.
- [MishkaCmsBuilderWeb.UIAdapters.Review](MishkaCmsBuilderWeb.UIAdapters.Review.md): The UI adapter for the builder's Review panel — the editor's own look, over Gervaz's behaviour.

