genealabs/nova-gutenberg
Adds a Gutenberg block editor field to Laravel Nova, letting you build rich content with WordPress-style blocks inside your admin panel. Stores block content as JSON/HTML and renders it on the front end, bringing flexible page building to Nova resources.
Build vs. buy on content authoring. If Laravel Nova is already your admin panel, this package converts "build a block editor" into "adopt a free field." That is a real scope reduction — a credible Gutenberg-class authoring experience is months of engineering to replicate. Be precise about what you're deciding: not build-vs-buy, but adopt an archived OSS field you will maintain vs. build a thinner editor on a maintained library. The license cost is zero; the ownership cost is not.
Whether to add CMS-like capability without adding a CMS. It supports a decision to keep content marketing pages, knowledge bases, help-center articles, landing pages, or long-form product copy inside the existing Laravel app — one deployment, one auth model, one backup story — rather than standing up WordPress or a headless CMS and integrating identity, media, and publishing workflows across two systems.
Content model and portability. The field persists structured block JSON and renders HTML. Adopting it is a decision to treat block JSON as the canonical content format, which keeps re-rendering to email, mobile, AMP, or a headless API open. Choosing a textarea, Markdown field, or WYSIWYG instead is a decision to lock content into opaque HTML and accept a migration later if multi-channel delivery becomes a requirement.
Editor UX standardization. Gutenberg is the most widely known block editor in the world. If your editors come from WordPress — and most content teams do — adoption and training cost is near zero. This supports standardizing authoring on one familiar interaction model across teams and resource types.
Prioritization and critical path. A drop-in field keeps "build an editor" off the roadmap's critical path, freeing engineering for differentiators. The archived status adds a counterweight: it forces an explicit line item for stewardship, so the prioritization decision is transparent rather than deferred.
Platform and vendor coupling. Nova is already a paid, closed-source, per-project dependency. This package compounds that with a single-maintainer, archived OSS layer on top. It should be weighed in any decision about how deeply the admin layer is bound to Nova versus a more actively developed ecosystem.
Where it fits best: internal editorial tools, marketing and help-center content where Nova is the CMS backend, and prototypes where a credible editing experience this sprint matters more than a multi-year maintenance guarantee.
Consider it when:
Look elsewhere when:
For executives: This is a free, open-source field that puts a WordPress-grade block editor directly inside our existing Laravel admin. Content teams can author rich pages, help articles, and marketing copy without a second CMS, a new vendor contract, or a from-scratch editor build, and the editor is already familiar to anyone who has used WordPress — so training and adoption costs are minimal. Content is stored as structured data we can re-render across web and other channels, which keeps our options open. The trade-off is ownership: the project is archived, has a single author, and no support contract. Recommendation: adopt it for internal and non-critical publishing where it accelerates delivery now, and explicitly fund a small amount of engineering time to fork, pin, and patch it. Do not treat it as a long-term strategic dependency for high-risk public content until we have measured the real maintenance cost across one or two Nova upgrades.
For engineering: It is a thin Nova field wrapping Laraberg's Gutenberg implementation — register the field, persist block JSON, render HTML. Integration cost is low; total cost of ownership is not zero. Assume we own the code: vendor or fork at a pinned commit, audit the bundled Gutenberg/React assets and the sanitization path before anything renders publicly, pin the transitive Laraberg version and the Nova/PHP constraints shipped in 0.6.1, and write upgrade tests so every Nova bump is a gated regression pass rather than a surprise. Persist rendered HTML in a cache column so page views never parse blocks on request, and keep the legacy field behind a flag so rollback is configuration, not a data restore. If the fork cost exceeds the effort of building a purpose-built editor on a maintained library, that is the signal to revisit.
For content and editorial stakeholders: You get the editor you already know. Block types, drag-and-drop composition, media and embeds, reusable blocks — the same interaction model as WordPress, inside the tool you already log into. No new login, no new system to learn.
How can I help you explore Laravel packages today?