Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Inky Laravel Package

filipegar/inky

Inky is a PHP implementation of ZURB's Inky parser for Foundation for Email. It converts semantic components like button, callout, and row into table-based HTML emails, with configurable grid columns, tag aliases, and custom component factories.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Email channel infrastructure: Enables the server-side rendering pipeline for responsive, table-based HTML email, converting semantic component tags (<row>, <columns>, <button>, <callout>) into email-client-safe markup at send time. This directly supports any roadmap item involving transactional or marketing email at scale.
  • Design-system alignment: If the org standardizes on ZURB's Foundation for Emails for design tokens and components, adopting this package lets the PHP backend speak the same component vocabulary the design team uses, avoiding a fork in the email design language between front-end and back-end.
  • Build vs. buy: The package is MIT and tiny; the realistic alternatives are (a) build a bespoke component-to-table transformer in-house, (b) shell out to the JS inky library or MJML via Node, or (c) adopt this package. This is a genuine buy decision — the cost is a small dependency with a permissive license, not a negotiated contract.
  • Use case fit: Best suited to teams already committed to Foundation for Emails and PHP/Laravel. It supports extensibility (addAlias, custom ComponentFactoryInterface) for bespoke components, which is useful if product wants proprietary email modules (e.g., a branded promo banner) rendered consistently across services.

When to Consider This Package

Strong fit when:

  • The application is PHP/Laravel and already emits HTML emails that must render consistently across Outlook, Gmail, and Apple Mail.
  • Your design team has adopted (or will adopt) Foundation for Emails, so Inky components map to existing styles and documentation.
  • You need server-side rendering with no Node runtime in the request path or CI — this avoids adding a JS toolchain purely for email.
  • You only need the semantic-tag-to-table transformation and are comfortable composing it with your own templating (Blade, Twig, etc.).

Look elsewhere or proceed with caution when:

  • Maturity is a real risk. 1 star, 0 dependents, and a "readme"-level maturity signal mean no meaningful community validation, no proven production track record, and no support channel. A PM should treat this as audit-before-adopt, not a slam dunk.
  • Maintenance exposure. If the package is unmaintained, you inherit the code. Budget for forking and vendoring it under your own org, or pin to a commit. Do not depend on upstream responsiveness.
  • Not on Foundation for Emails. The value proposition collapses if you are not using the Foundation email design system; the output is Foundation-flavored and the components assume those classes.
  • Need MJML or a richer ecosystem. If your team wants the larger component library, community, and tooling of MJML, this is the wrong bet. Similarly, if you need extensive localization or conditional-comment tuning beyond what Inky emits, evaluate MJML or a specialized ESP toolchain first.
  • You cannot accept an unaudited dependency. Security and correctness review of the HTML parser (it depends on PHPHtmlParser) is required before any customer-facing email path uses it.

Adoption gate (recommended): run a spike that renders the top 10 real production email templates through this package, diff output against your current templates across the major clients, and time-box a fork review. Adopt only if output parity is acceptable and the code is small enough for the team to own.

How to Pitch It (Stakeholders)

For executives: This is a small, MIT-licensed PHP component that lets our Laravel services generate responsive, email-client-safe HTML at send time using the same component language our designers already use for Foundation for Emails. It reduces a class of recurring, hard-to-diagnose email rendering bugs and shortens the loop between a template change and a verified send. The financial exposure is minimal (free license, small dependency); the real cost is a short due-diligence and fork-readiness step because the project is early-stage with limited community adoption. Recommendation: approve a time-boxed evaluation, not a blanket commitment.

For engineering: The package exposes a clean API — instantiate Inky, optionally configure grid columns, register tag aliases, and add custom ComponentFactoryInterface implementations to convert bespoke tags. It returns transformed HTML suitable for any mailer. The trade-offs: it is essentially a single-maintainer project with one star and no dependents, so treat it as vendored code you may need to own. It brings a transitive HTML-parser dependency that should be reviewed. The abstraction is thin enough that forking is cheap; the extension points mean we can iterate on components without upstream changes.

Bottom line for the product team: Worth a scoped proof-of-concept if we are committed to Foundation for Emails and PHP-side rendering. Not worth it if we are undecided on the email design system, need an actively supported vendor, or want a large component ecosystem — in those cases MJML or a maintained alternative is the better strategic call.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel