frogbob / laravel-blinky
Laravel的Inky电子邮件模板基础
Requires
- frogbob/inky-php: ^0.0.1
- illuminate/support: 5.*|6.*
- illuminate/view: 5.*|6.*
- symfony/css-selector: 4.*|5.*
- symfony/dom-crawler: 4.*|5.*
- tijsverkoyen/css-to-inline-styles: ^2.2
This package is auto-updated.
Last update: 2024-09-19 22:46:33 UTC
README
Inky-Compiler for Laravel blade-files
允许您在Laravel中优雅地使用Foundation的Inky电子邮件模板。
它使用我们的InkyPHP将Inky语言编译为其HTML版本。
任何具有.inky.php
扩展名的视图都将与Inky和Blade一起编译,让您无缝地一起使用这两种模板引擎。CSS将自动内联,以便在不支持外部样式表的电子邮件客户端中工作。
文档
安装
使用composer安装
composer require frogbob/laravel-blinky
安装后,您需要注册服务提供者。打开config/app.php
并将以下内容添加到providers
键
Frogbob\LaravelBlinky\BlinkyServiceProvider::class
用法和示例
查看Foundation for Emails文档以获取有关如何使用Inky和Foundation for Emails CSS的完整信息。
创建Inky视图,例如emails/welcome.inky.php
<container> <row> <columns>Welcome, {{ $name }}</columns> </row> </container>
像往常一样在Laravel中使用Mail
Mail::send('emails.welcome', ['name' => $user->name], function ($m) use ($user) { $m->from('hello@app.com', 'Your Application'); $m->to($user->email, $user->name)->subject('Welcome!'); });
您可以为继承而创建Blade布局,例如emails/layout.inky.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width"/> <link rel="stylesheet" href="foundation-emails.css"> </head> <body> @yield('content') </body> </html>
然后
@extends('emails.layout') @section('content') <container> <row> <columns>Welcome, {{ $name }}</columns> </row> </container> @stop
CSS内联
<style>
和<link rel="stylesheet">
将被自动内联。
您的<link rel="stylesheet">
的href
位置将被解析到resources/assets/css
目录,因此在上面的示例中,它期望在resources/assets/css/foundation-emails.css
中有些CSS。
以下是一个电子邮件中CSS的便捷参考:电子邮件客户端CSS支持指南
忽略CSS内联
也许您想要忽略CSS内联。
只需更新以下设置到config/views.php
'laravel_blinky' => [ 'use_inliner' => false ]
注意
基于Laravel Inky(由petecoop创建)创建的包
不幸的是,这个包似乎已被废弃,并且不能在Laravel版本>= 5.5上安装。
许可
查看LICENSE文件以获取许可信息(它是MIT许可)。