# PhoenixKitPublishing v0.4.6 - Table of Contents

> Publishing module for PhoenixKit — database-backed CMS with multi-language support

## Pages

- [phk-publishing-format](phk-publishing-format.md)

## Modules

- [PhoenixKit.Modules.Publishing](PhoenixKit.Modules.Publishing.md): Publishing module for managing content groups and their posts.
- [PhoenixKit.Modules.Publishing.Categories](PhoenixKit.Modules.Publishing.Categories.md): Hierarchical, per-group categories (WordPress-parity taxonomy) and the
assignments of posts to them. The category rows come from core migration
**V159**.
- [PhoenixKit.Modules.Publishing.Comments](PhoenixKit.Modules.Publishing.Comments.md): Optional seam to `phoenix_kit_comments` — same posture as the
`phoenix_kit_og` plugin seam: publishing has NO dep on the comments
package; every call is `Code.ensure_loaded?` + `function_exported?`
guarded and rescued, so a host without the module (or with it disabled
from `/admin/modules`) renders publishing pages with no comments UI and
no crashes.
- [PhoenixKit.Modules.Publishing.Constants](PhoenixKit.Modules.Publishing.Constants.md): Centralized constants for the Publishing module.
- [PhoenixKit.Modules.Publishing.DBStorage](PhoenixKit.Modules.Publishing.DBStorage.md): Database storage layer for the Publishing module.
- [PhoenixKit.Modules.Publishing.DBStorage.Mapper](PhoenixKit.Modules.Publishing.DBStorage.Mapper.md): Mapper: converts DB records to the map format expected by
Publishing's web layer (LiveViews, templates, controllers).
- [PhoenixKit.Modules.Publishing.Errors](PhoenixKit.Modules.Publishing.Errors.md): Central mapping from error atoms (returned by the Publishing module's
public API) to translated human-readable strings.
- [PhoenixKit.Modules.Publishing.GroupSettings](PhoenixKit.Modules.Publishing.GroupSettings.md): Machine-readable specification of a publishing group's per-group display
settings — the settings stored in the group's `data` JSONB and edited on the
admin "Edit Group" page.
- [PhoenixKit.Modules.Publishing.Groups](PhoenixKit.Modules.Publishing.Groups.md): Group management functions for the Publishing module.
- [PhoenixKit.Modules.Publishing.Hashtags](PhoenixKit.Modules.Publishing.Hashtags.md): Body hashtags ARE the tag system (boss call, 2026-07-28): writers type
`#elixir` inline and the post's tags derive from the text on save —
there is no separate tags field. The public side is unchanged (tag
archives, feeds, chips); only the source of truth moved into the prose.
- [PhoenixKit.Modules.Publishing.LanguageHelpers](PhoenixKit.Modules.Publishing.LanguageHelpers.md): Pure language utility functions for the Publishing module.
- [PhoenixKit.Modules.Publishing.ListingCache](PhoenixKit.Modules.Publishing.ListingCache.md): Caches publishing group listing metadata in :persistent_term for sub-millisecond reads.
- [PhoenixKit.Modules.Publishing.ListingCache.LockTableOwner](PhoenixKit.Modules.Publishing.ListingCache.LockTableOwner.md): Long-lived owner for the `ListingCache` regeneration-lock ETS table.
- [PhoenixKit.Modules.Publishing.Metadata](PhoenixKit.Modules.Publishing.Metadata.md): Content metadata helpers for the Publishing module.
- [PhoenixKit.Modules.Publishing.PageBuilder](PhoenixKit.Modules.Publishing.PageBuilder.md): Rendering pipeline for PHK (PhoenixKit) page content.
- [PhoenixKit.Modules.Publishing.PageBuilder.Components.Audio](PhoenixKit.Modules.Publishing.PageBuilder.Components.Audio.md): The `<Audio>` PHK component — inline audio in a post body
- [PhoenixKit.Modules.Publishing.PageBuilder.Parser](PhoenixKit.Modules.Publishing.PageBuilder.Parser.md): Parses PHK (PhoenixKit) XML-style markup into an AST.
- [PhoenixKit.Modules.Publishing.PageBuilder.Renderer](PhoenixKit.Modules.Publishing.PageBuilder.Renderer.md): Renders AST nodes to HTML by delegating to component modules.

- [PhoenixKit.Modules.Publishing.Posts](PhoenixKit.Modules.Publishing.Posts.md): Post CRUD operations for the Publishing module.
- [PhoenixKit.Modules.Publishing.Presence](PhoenixKit.Modules.Publishing.Presence.md): Presence tracking for collaborative post editing.
- [PhoenixKit.Modules.Publishing.PresenceHelpers](PhoenixKit.Modules.Publishing.PresenceHelpers.md): Helper functions for collaborative post editing with Phoenix.Presence.
- [PhoenixKit.Modules.Publishing.PubSub](PhoenixKit.Modules.Publishing.PubSub.md): PubSub integration for real-time publishing updates.
- [PhoenixKit.Modules.Publishing.PublishingCategory](PhoenixKit.Modules.Publishing.PublishingCategory.md): Hierarchical, per-group category (WordPress-parity taxonomy). Backed by
core migration **V159** (`phoenix_kit_publishing_categories`).
- [PhoenixKit.Modules.Publishing.PublishingContent](PhoenixKit.Modules.Publishing.PublishingContent.md): Schema for publishing content — one row per language per version.
- [PhoenixKit.Modules.Publishing.PublishingGroup](PhoenixKit.Modules.Publishing.PublishingGroup.md): Schema for publishing groups (blog, faq, legal, etc.).
- [PhoenixKit.Modules.Publishing.PublishingPost](PhoenixKit.Modules.Publishing.PublishingPost.md): Schema for publishing posts within a group.
- [PhoenixKit.Modules.Publishing.PublishingPostCategory](PhoenixKit.Modules.Publishing.PublishingPostCategory.md): Post↔category assignment row (core migration **V159**,
`phoenix_kit_publishing_post_categories`). Post-level, WordPress
semantics — a post's categories apply to every version. Composite
primary key; both FKs cascade in the DB.

- [PhoenixKit.Modules.Publishing.PublishingVersion](PhoenixKit.Modules.Publishing.PublishingVersion.md): Schema for publishing post versions.
- [PhoenixKit.Modules.Publishing.Renderer](PhoenixKit.Modules.Publishing.Renderer.md): Renders publishing post markdown to HTML with caching support.
- [PhoenixKit.Modules.Publishing.Shared](PhoenixKit.Modules.Publishing.Shared.md): Shared helper functions used across publishing submodules.
- [PhoenixKit.Modules.Publishing.SlugHelpers](PhoenixKit.Modules.Publishing.SlugHelpers.md): Slug validation and generation for the Publishing module.
- [PhoenixKit.Modules.Publishing.StaleFixer](PhoenixKit.Modules.Publishing.StaleFixer.md): Fixes stale or invalid values on publishing records.
- [PhoenixKit.Modules.Publishing.TranslationManager](PhoenixKit.Modules.Publishing.TranslationManager.md): Language and translation management for the Publishing module.
- [PhoenixKit.Modules.Publishing.Versions](PhoenixKit.Modules.Publishing.Versions.md): Version management functions for the Publishing module.
- [PhoenixKit.Modules.Publishing.Views](PhoenixKit.Modules.Publishing.Views.md): Post view counting over core migration **V159**'s
`phoenix_kit_publishing_post_views` — one `(post_uuid, view_date)` row per
day, incremented in place. Totals are `SUM(count)`.
- [PhoenixKit.Modules.Publishing.Web.CategoriesLive](PhoenixKit.Modules.Publishing.Web.CategoriesLive.md): Admin management for a group's category taxonomy (WordPress-parity),
in the house folder-tree style (catalogue/entities patterns): a
full-width indented tree table with handle-only drag reorder among
siblings (SortableGrid), kebab row menus, a "Move to…" dialog for
re-parenting (depth-indented picker, self + descendants excluded),
and a modal add/edit form. Routed at
`/admin/publishing/categories/:group`.

- [PhoenixKit.Modules.Publishing.Web.Components.CategoriesPicker](PhoenixKit.Modules.Publishing.Web.Components.CategoriesPicker.md): The post editor's category field: a typeahead plus a row of chips.
- [PhoenixKit.Modules.Publishing.Web.Components.VersionSwitcher](PhoenixKit.Modules.Publishing.Web.Components.VersionSwitcher.md): Version switcher component for publishing posts.
- [PhoenixKit.Modules.Publishing.Web.Controller](PhoenixKit.Modules.Publishing.Web.Controller.md): Public post display controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.Fallback](PhoenixKit.Modules.Publishing.Web.Controller.Fallback.md): 404 fallback handling for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.Feed](PhoenixKit.Modules.Publishing.Web.Controller.Feed.md): RSS 2.0 feed rendering for a publishing group.
- [PhoenixKit.Modules.Publishing.Web.Controller.Language](PhoenixKit.Modules.Publishing.Web.Controller.Language.md): Language detection and resolution for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.Listing](PhoenixKit.Modules.Publishing.Web.Controller.Listing.md): Group listing functionality for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.PostFetching](PhoenixKit.Modules.Publishing.Web.Controller.PostFetching.md): Post fetching functionality for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.PostRendering](PhoenixKit.Modules.Publishing.Web.Controller.PostRendering.md): Post rendering functionality for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.Routing](PhoenixKit.Modules.Publishing.Web.Controller.Routing.md): URL path parsing and routing helpers for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.SlugResolution](PhoenixKit.Modules.Publishing.Web.Controller.SlugResolution.md): URL slug resolution for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Controller.Translations](PhoenixKit.Modules.Publishing.Web.Controller.Translations.md): Translation link building for the publishing controller.
- [PhoenixKit.Modules.Publishing.Web.Edit](PhoenixKit.Modules.Publishing.Web.Edit.md): LiveView for editing publishing group metadata such as display name and slug.

- [PhoenixKit.Modules.Publishing.Web.Editor](PhoenixKit.Modules.Publishing.Web.Editor.md): Markdown editor for publishing posts.
- [PhoenixKit.Modules.Publishing.Web.Editor.Collaborative](PhoenixKit.Modules.Publishing.Web.Editor.Collaborative.md): Collaborative editing functionality for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Forms](PhoenixKit.Modules.Publishing.Web.Editor.Forms.md): Form building and management for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Helpers](PhoenixKit.Modules.Publishing.Web.Editor.Helpers.md): Shared helper functions for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Persistence](PhoenixKit.Modules.Publishing.Web.Editor.Persistence.md): Post persistence operations for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Preview](PhoenixKit.Modules.Publishing.Web.Editor.Preview.md): Preview functionality for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Translation](PhoenixKit.Modules.Publishing.Web.Editor.Translation.md): AI translation functionality for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.Editor.Versions](PhoenixKit.Modules.Publishing.Web.Editor.Versions.md): Version management functionality for the publishing editor.
- [PhoenixKit.Modules.Publishing.Web.HTML](PhoenixKit.Modules.Publishing.Web.HTML.md): HTML rendering functions for Publishing.Web.Controller.

- [PhoenixKit.Modules.Publishing.Web.Index](PhoenixKit.Modules.Publishing.Web.Index.md): Publishing module overview dashboard.
Provides high-level stats, quick actions, and guidance for administrators.

- [PhoenixKit.Modules.Publishing.Web.Listing](PhoenixKit.Modules.Publishing.Web.Listing.md): Lists posts for a publishing group and provides creation actions.

- [PhoenixKit.Modules.Publishing.Web.New](PhoenixKit.Modules.Publishing.Web.New.md): LiveView for creating a new publishing group.

- [PhoenixKit.Modules.Publishing.Web.PostShow](PhoenixKit.Modules.Publishing.Web.PostShow.md): Post overview page showing metadata, versions, languages, and actions.
- [PhoenixKit.Modules.Publishing.Web.Preview](PhoenixKit.Modules.Publishing.Web.Preview.md): Preview rendering for publishing posts.
- [PhoenixKit.Modules.Publishing.Web.Settings](PhoenixKit.Modules.Publishing.Web.Settings.md): Admin configuration for publishing groups.

- [PhoenixKitPublishing.AITranslatable](PhoenixKitPublishing.AITranslatable.md): `PhoenixKitAI.Translatable` adapter for publishing posts — the
per-module hook into PhoenixKitAI's generic AI-translation pipeline
(`PhoenixKitAI.{Translations,TranslateWorker}`).
- [PhoenixKitPublishing.Gettext](PhoenixKitPublishing.Gettext.md): Gettext backend for phoenix_kit_publishing.
- [PhoenixKitPublishing.GroupAITranslatable](PhoenixKitPublishing.GroupAITranslatable.md): `PhoenixKitAI.Translatable` adapter for a publishing GROUP's display name —
the second publishing resource on PhoenixKitAI's generic translation
pipeline (posts ride `PhoenixKitPublishing.AITranslatable`).
- [PhoenixKitPublishing.GroupAITranslateBinding](PhoenixKitPublishing.GroupAITranslateBinding.md): `PhoenixKitAI.Components.AITranslate.FormBinding`-shaped binding for the
Edit Group form's name translations.
- [PhoenixKitPublishing.RouterDispatch](PhoenixKitPublishing.RouterDispatch.md): Routing strategy that lets publishing's catch-all coexist with host
routes shaped `/:locale/something/...` declared after `phoenix_kit_routes()`.
- [PhoenixKitPublishing.Routes](PhoenixKitPublishing.Routes.md): Publishing module routes.

