noerd/cms
A lightweight Laravel CMS package for adding editable pages, reusable content blocks, navigation, and basic SEO to custom apps. noerd/cms integrates with Blade and Eloquent, giving developers a simple admin-friendly way to manage site content without a heavy CMS.
//-triggered inline element insertion. This is the single biggest differentiator for editor adoption — it lets you credibly evaluate "keep it in-house" against per-seat licensing for Notion, Craft, Storyblok or a hosted Tiptap/ProseMirror editor. If your authors already compare your admin to Notion, this release closes that gap without a vendor contract.contents / content_elements base, the ExtendsContent concern and the ContentTypeRegistry turn the CMS from a page-and-element system into a general content platform. This unlocks roadmap items that previously required a bespoke model per feature: documentation, blog/news, help-centre articles, structured landing blocks, and any module-specific content type registered by another package. It is the decision point for "one CMS for the whole product" versus "CMS for pages plus a separate tool for everything else."dist/build), served by the route cms.asset. That is a real product decision in your favour — no CDN dependency, no third-party editor runtime reaching your admin from outside your perimeter, no surprise CDN outage on publishing day — but it makes asset versioning and cache invalidation your responsibility. Add "editor bundle renders correctly after deploy" to your release checklist.rich_text element and sanitised on save. This is the input to your content-security and legal review: confirm the sanitiser strips scripts and unsafe attributes on save (not just render), and that it is applied to every path including the // inline insert and any API or import surface. If your product has regulated or user-contributed content, request the sanitiser's allow-list in writing.element-page-detail, element-picker-modal and the EditsContentElements trait are gone, replaced by EditsContentDocument. Before you commit to the version, have engineering grep every internal package, admin customisation, theme and Blade/JS override that touches those three names. This is the line item that decides whether v0.4.0 lands this sprint or next.Consider adopting (or accelerating your upgrade to) v0.4.0 when:
ContentTypeRegistry and ExtendsContent concern only pay off if something is going to register a content type. If your roadmap includes docs, news, help articles or module-owned content, adopting this base now avoids a second migration later.Look elsewhere or defer when:
element-picker-modal / element-page-detail components or the EditsContentElements trait, budget the rework explicitly before choosing this version — or pin and upgrade later.dist/build and the asset route. If you need a heavily customised editing surface with no PHP-side build step, a headless CMS with a maintained editor SDK may fit better.To executives: v0.4.0 makes our CMS a content platform rather than a page editor. Two things change commercially. First, authors get a modern, document-style editor — the kind of experience people expect from Notion — which is the main lever on adoption and on whether we can consolidate content tooling and drop per-seat licences. Second, content is now organised on a shared foundation that other parts of the product can extend, so future content types (documentation, news, help articles, module-owned content) do not each need a separate build or a separate vendor. The upgrade is in place: existing pages and elements are migrated with their ids intact, so links and analytics references survive. The cost is a focused engineering effort to update anything that used the three components this release removes. Recommendation: approve the upgrade, gated on a production-snapshot migration rehearsal and an inventory of affected customisations, and expect to pin the version given the pace of change.
To engineering: This is a breaking release with a data migration. The new shared contents / content_elements base, ExtendsContent concern and ContentTypeRegistry are the architecture we should build on — register content types rather than adding parallel models. The migration preserves ids, which is what makes the upgrade safe, but it needs a rehearsal on a production snapshot and a rollback plan. Removed: element-page-detail, element-picker-modal and the EditsContentElements trait, replaced by EditsContentDocument — please grep the whole codebase, including custom admin panels and theme overrides, and list every touchpoint before we schedule. The editor is a self-hosted Tiptap bundle in dist/build served through the cms.asset route: add it to deploy and cache-invalidation checks, and confirm the sanitiser applied to the rich_text element covers the // inline-insert path as well as normal saves. Please also pin the version and note that pre-1.0 means further breaking changes are likely.
How can I help you explore Laravel packages today?