joshmoreno/nova-html-field
joshmoreno/nova-html-field is a Laravel Nova custom field for rendering HTML content directly in Nova forms and detail views. Display rich text, embedded markup, or custom HTML with simple configuration, making it easy to add flexible content blocks to admin resources.
withCount, formatted JSON) without adding database columns or a migration. This is the core decision: do we need a column for this, or is it a display-only concern?Consider it when:
resolve/render callback, not data entered by end users.Look elsewhere when:
composer.json constraints against your Nova and PHP versions before anything else.app/Nova/Fields/ and own outright. That converts a dependency risk into a few lines of code you control.For executives: This is a small, low-cost accelerator for our internal admin panel. It lets us add operator-facing context — status explanations, links into Stripe and our support tool, computed metrics — to existing admin screens in hours rather than days, without database changes or new frontend work. It is internal-only: no customer sees it, it carries no revenue exposure, and because it is a rendering-only shim, the blast radius of a failure is a cosmetic glitch on an admin page. The one caveat is that the package is a single-maintainer open-source project, so I'd recommend we vendor the field into our own codebase rather than take a permanent dependency — that costs roughly half a day and eliminates the supply-chain risk entirely.
For engineering: It's a Nova field that renders arbitrary HTML in index, detail, and form views — useful for computed values that don't deserve a column, inline help copy, and deep links. Adoption cost is one Composer line; the field is thin enough that copying it into app/Nova/Fields is a credible alternative and probably the right call given the maintenance profile. Two asks before we ship: confirm Nova/PHP version compatibility against composer.json, and enforce a rule that rendered HTML is always server-composed and never derived from user input — this field will happily render an XSS payload. Assign an owner to re-check compatibility at each Nova upgrade; that is the only ongoing cost.
How can I help you explore Laravel packages today?