Core & Plugins

CMS

Pages, posts, categories, widgets, layouts and a media gallery — the content engine the rest of the platform renders through.

The CMS content manager — posts and pages.
The CMS content manager — posts and pages.
The page editor.
The page editor.
The layout editor — header / content / footer areas.
The layout editor — header / content / footer areas.
The widgets list.
The widgets list.
The widget editor.
The widget editor.

What it provides

The CMS plugin owns cms_post (pages and posts under one model, discriminated by type), a unified cms_term taxonomy (categories), widgets, layouts, styles and a managed image gallery. Public content renders at /<slug>; admin CRUD lives under /api/v1/admin/cms/*.

Pages, layouts & widgets

A page can reference a layout whose areas are filled by widgets (HTML, custom code, menus, or registered Vue components). A widget is only visible if (1) the frontend registers the Vue component, (2) fe-admin ships an editor descriptor, and (3) a widget record is seeded. Global widgets need is_global plus a body mount.

Extensibility

Other plugins register new page types via registerCmsPageType(slug, component), and contribute public content filters (e.g. the paywall) through the CMS public content-filter registry — the CMS stays agnostic of them. This very documentation portal is CMS content imported through the standard cms_terms + cms_post exchange.