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.