twig/inky-extra
Twig extension that provides the inky_to_html filter, converting Zurb Inky email templates into responsive, table-based HTML. It brings Inky's component-driven markup to Twig-based apps, letting you write cleaner email layouts that render reliably across mail clients.
<container>, <row>, <columns>, <button>) that map to email-client-safe table HTML. That is a design-system decision: one vocabulary, one set of responsive behaviors, fewer one-off templates that break in Outlook.composer require.Adopt when:
Look elsewhere when:
tijsverkoyen/css-to-inline-styles); or a hosted template service if marketers need self-serve.Risks to price in before committing:
>=3.26 and have engineering verify escaping behavior end-to-end — the fix changes how input is escaped, so any template relying on the old behavior of inky_to_html needs review. Do not let a stale lockfile ship this.zurb/inky-php, so upstream Inky's maintenance velocity is your real longevity risk, not this package.To executives — the decision is small and reversible; frame it that way.
"Email is a customer-facing surface we currently maintain ad hoc. This is a single MIT-licensed dependency that lets our existing backend engineers produce responsive, on-brand emails from the same repository and review process as the rest of the product — no new vendor, no new headcount, no lock-in. The cost is roughly one dependency and a few days of integration; the upside is faster iteration on lifecycle and transactional email and fewer broken-rendering support tickets. I'm proposing a scoped pilot on 2–3 high-volume templates with a go/no-go at the end."
Set the success metrics before the pilot, and label them as targets to validate, not forecasts: dev hours per new template, email-client rendering defects per release, time from "we need an email" to "in production," and support tickets attributable to email rendering. Avoid quoting headline efficiency numbers you can't defend.
To engineering — be direct about what it is and what it costs.
"It's a Twig extension exposing a single
inky_to_htmlfilter; it compiles Inky component markup into email-safe table HTML server-side. No runtime services, no JS, no build step required. Two things to settle first: (1) whether we stand up a Twig environment for email only or use Twig more broadly — that's the actual cost, not the package; (2) escaping. Pin>=3.26.0for CVE-2026-46637 and review how the pre-escape change interacts with our templates andautoescapesettings before we write more than a couple of templates. Plan for CSS inlining and a client-testing pass as part of the definition of done."
To design and marketing — set expectations honestly.
"This does not give you a visual editor. It gives us a consistent set of responsive building blocks and a much faster loop from your design intent to a shipped email. You'll still review renders; you just won't be waiting on frontend capacity, and shared headers/footers/brand blocks become one component instead of copy-paste."
Pilot recommendation (one page, 3–4 weeks): pick two transactional templates and one lifecycle template; pin the dependency version; define the escaping and inlining conventions; run client-compatibility checks; measure against the metrics above; decide go/no-go. The decision to not adopt is cheap and should be explicitly on the table — for a Blade-only Laravel team, "no" is a legitimate and probably correct outcome.
How can I help you explore Laravel packages today?