Webmaker mailroom
This module outputs rendered/localized html for Webmaker emails given a template name, some arbitrary data, and a locale.
Install
npm install webmaker-mailroom
Usage
var mailroom = require('webmaker-mailroom');
// Configure
var templateName = 'badge_awarded';
var data = {
name: 'Kate Hudson',
faveTeam: 'DFB'
};
var options = {
locale: 'en-US',
partial: true
};
var email = mailroom.render(templateName, data, options);
// Output
// email.html: The html of the email body
// email.subject: The subject of the html
Options
locale
- The locale of the email, defaults toen-US
.partial
- Only render the body of the email, do not include html headers/footers. Defaults tofalse
. Do NOT set this to true if you are passing the email directly tonode-mailer
, you want to include the full html.
Development
If you are developing a template, install gulp with npm install -g gulp
and simply run:
npm install
gulp dev
This will start a watch process, build test files as you make changes, and run a server so you can view them in a browser.
Tests
gulp test
Adding a new email template
- Run
gulp new
. Choose an appropriate id for your email, e.g.my_awesome_email
. - In
templates/my_awesome_email/index.html
, create a template. Refer to the nunjucks templating docs for how to add templated data. - In
templates/my_awesome_email/index.js
, add a name, description, and some test data for your email. - Run
gulp test
to validate your template with the test data you provided, orgulp dev
to see the email in the browser.