This extension brings Foundation Emails 2 support to Laravel Elixir, version 6 and up.
npm install laravel-elixir-foundation-emails --save-dev
The foundationEmails method may be used to compile email blade templates, sass, images into blade views.
elixir(function(mix) { mix.foundationEmails(); });
Default options are:
options = { sass: 'resources/assets/sass/emails/email.scss', source: 'resources/emails', views: 'resources/views/emails', images: 'resources/emails/images', imagesDist: 'public/images/emails', publicCss: 'public/css', compiled: 'resources/emails/dist' };
- `sass:` email.scss - compiled into email.css, saves to `compiled` and `publicCss`.
- `source` blade emails folder before inky and inlining css
- `views` destination - compiled templates for use in Laravel
- `images` images folder before minifing
- `imagesDist` images ready for use
- `compiled` tmprorary folder
To choose a different options or rewrite one of them you can use method argument.
elixir(function(mix) { mix.foundationEmails({ copiled: 'public/compiled/emails' }); });
Or can use foundation-emails.config.js file in your project root. Example:
module.exports = { sass: 'resources/assets/sass/emails/email.scss', source: 'resources/emails', views: 'resources/views/emails', images: 'resources/emails/images', imagesDist: 'public/images/emails', publicCss: 'public/css', compiled: 'resources/emails/dist' };
If you've created a plugin, and need to hook your own FoundationEmails config into Elixir's defaults, add the following to your script:
Elixir.foundationEmails.mergeConfig({ sass: 'resources/assets/sass/emails/email.scss', });
Elixir.foundationEmails.mergeConfig(newConfig) will recursively merge your provided configuration with ours.
Current plugin freezes gulp flow until all it's works will be done. Because I can't find better way to run several streams in elixir gulp task without callback.
Css inliner removes all <link rel="stylesheet" type="text/css" href="*"> tags in production mode.
To add styles to compiled styles in head put it into <style type="text/css" media="screen"></style in head.
You can add @font-face and etc. Or correct bugs in compiled styles. Supports blade syntax as well.