- Can I use gremo/zurb-ink-bundle in a Laravel application?
- Not directly. It is a Symfony bundle made of a kernel bundle class, a DI extension, services.xml, and a Twig extension, with no Laravel service provider, config publish, or Blade integration. Composer-requiring it into a Laravel app mainly gives you Symfony-specific artifacts to bypass. The realistic path is to fork it and re-expose the Inky transform and CSS inliner through Laravel.
- Does this package support Laravel 10 or 11 and PHP 8.x?
- No. The repository has been archived since 2 August 2018 and has no PHP 8.x, modern Symfony, or Laravel compatibility work. Its Composer constraints likely pin PHP 7.x era dependencies and Twig 1–2 versions that will fight a current Laravel resolver. If you fork it, budget time for a constraint-relaxation pass and a smoke test of the Inky parser on modern PHP.
- What does gremo/zurb-ink-bundle actually do?
- It is thin glue around two steps: converting ZURB Ink's semantic tags such as container, row, and columns into table-based HTML email markup, and inlining CSS into style attributes. The bundle wires an Inky PHP transpiler and a CSS inliner into Symfony's container and Twig. The underlying PHP libraries do the real work, which is why the pattern transfers to Laravel even though the bundle does not.
- How do I install gremo/zurb-ink-bundle?
- For Symfony, you would composer require gremo/zurb-ink-bundle, register Gremo\ZurbInkBundle\GremoZurbInkBundle in your kernel, and use the provided Twig extension. There is no Laravel installation path and no configuration file to publish. In Laravel you would instead install the Inky PHP library plus a CSS inliner such as tijsverkoyen/css-to-inline-styles.
- Is there a Laravel alternative for building ZURB Ink emails?
- There is no maintained Laravel package that wraps this bundle. Common options are MJML with its CLI or a Laravel wrapper, a small in-house Inky service, or a build-step pipeline that compiles email HTML before deploy. Pick based on whether you need runtime rendering or pre-compiled, reviewable email artifacts in pull requests.
- How do I convert Inky templates to HTML in Laravel without Symfony?
- Skip the bundle and call the Inky PHP transpiler directly from a small service class, then pass the output through a CSS inliner. Wrap that service in a Laravel service provider or expose it through a Blade directive or compiler extension. This is roughly a day or two of work for a competent PHP developer and removes the Symfony DI and Twig dependency entirely.
- Is gremo/zurb-ink-bundle maintained or safe to depend on?
- No. The project has been archived since August 2018, has around 24 stars and zero dependents, and receives no security patches. It also depends on an abandoned Inky PHP port, so the whole pipeline is unmaintained. The MIT license makes forking legally trivial, which is the main factor lowering the risk.
- Should I compile Inky emails at build time or at runtime?
- Build-time is the stronger default: compile Inky and inline CSS in CI, ship static HTML, and keep an unmaintained runtime dependency off the request path. It also makes rendered email output reviewable in pull requests. Runtime rendering only makes sense if templates must change without a deploy.
- How do I migrate templates from this bundle to Laravel Blade?
- Fork the repo, strip the Symfony DI and Twig registration, and keep the Inky transform and inliner logic. Bump Composer constraints to your PHP and Laravel versions, then verify the parser still works on PHP 8.x. Re-wrap the extracted services in a Laravel service provider or Blade compiler hook and migrate templates incrementally behind a feature flag.
- Does the CSS inliner handle media queries and !important for Gmail and Outlook?
- Email rendering quirks are inherent to the problem domain, and this bundle does not solve them. Inliners generally handle media queries and !important imperfectly, Gmail strips some CSS, and Outlook relies on conditional comments. Render your top templates against your actual client matrix before committing to any inliner.