alfasix / alfakit-cms
A headless-friendly CMS for AlfaKit: block-based pages with drafts, scheduling, revisions and signed previews, SEO, sitemap and robots, redirects, menus, a public Inertia route with React, Vue and Svelte block renderers, and a read-only JSON API.
Requires
- php: ^8.3
- alfasix/alfakit: ^0.1|@dev
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
by Alfa Six
Run your public site from your AlfaKit panel: block-based pages with drafts, autosave and a live preview, scheduling, a review workflow, revisions with plain-language compare, page templates and reusable sections, an SEO helper, sitemap.xml, robots.txt, redirects and menus. Pages render through Inertia with the same React, Vue or Svelte renderer as the panel, and a read-only JSON API serves headless frontends.
Installation
composer require alfasix/alfakit-cms php artisan vendor:publish --tag=alfakit-cms-migrations php artisan migrate php artisan storage:link
Register
use AlfaSix\AlfakitCms\CmsPlugin; $panel->plugin( CmsPlugin::make() ->siteName('Acme') ->publicRoutes() // serve published pages, sitemap.xml and robots.txt ->adminBar() // "Edit this page" on the public site for editors ->api(), // read-only JSON API );
Register the public page component in your site's Inertia app:
import { CmsPage, createAlfakit } from '@alfakit/react' createAlfakit({ pages: { 'Alfakit/CmsPage': CmsPage } })
See the documentation for custom blocks, multilingual and multi-tenant sites, the review workflow and every option, and its "For content editors" section for a plain-language guide.
License
MIT. See LICENSE.md.