Skip to content

stidges/laravel-mix-mjml

Repository files navigation

Laravel Mix MJML

tests

A Laravel Mix plugin to compile MJML files.

Installation

This package can be installed through NPM:

npm install -D laravel-mix-mjml

Upgrading to v4.0.0

In previous versions this plugin set the MJML beautify option to true by default, but since v4 of MJML this option has been deprecated and will be remove in v5. If you'd still like to use this you can add the following to your webpack.mix.js:

mix.mjml('...', '...', {
    mjmlOptions: {
        beautify: true
    }
});

Additionally v4 of MJML removes the minify option. This has been removed from the plugin defaults, but should not affect the output of your code.

Basic Usage

// webpack.mix.js
const mix = require('laravel-mix');
require('laravel-mix-mjml');

mix.mjml();

API

The registered mjml plugin has the following signature:

mix.mjml(entry, output[, options]);

entry

Type: String
Default: "resources/mail"

The path where the MJML files are located. Can be a path to a specific file, a path to a directory, or a glob string.

output

Type: String
Default: "resources/views/mail"

The path where the compiled files should be outputted to. Note: This path will be resolved relative to your root path!

options.extension

Type: String
Default: ".blade.php"

The extension to use when outputting the compiled files. Ignored if a specific file path is passed as the output path.

options.mjmlOptions

Type: Object
Default: {}

The options to pass to the MJML compiler. Please review the MJML documetation which options are accepted here.

License

The MIT License (MIT). Please see License file for more information.