dojo-templater
Version:
Easy HTML emails with variables
66 lines (40 loc) • 2.16 kB
Markdown
ClassDojo Templater
==============================
Author: Chris Frank
What does this module do?
--------------------------
Dojo Templater handles all the nastiness of sending HTML emails. Include the module, call one of the public methods, and Templater takes care of the rest.
# Features
1. Translations via Crowdin. Handlebars syntax:
`{{ I18n 'dojo-templater.emails:welcome_a.welcome' }}`
2. Layouts in handlebars: `{{#extend "main"}}`
3. Inlines CSS so you can write your CSS in a separate file.
4. Does NOT inline anything in `<style>` tags. Use `<style>` tags for mobile clients.
5. Uses [Zurb's Ink framework](http://zurb.com/ink/). Ink makes emails easy to maintain and work on many clients.
6. Uses fixture data for testing and previews. Update fixtures in `src/fixtures.coffee`.
# Using Dojo Templater in your projects
# The name of the handlebars file in email_templates
fileName = "midweekUpdate"
# Data object
data =
firstName: "Rafaelita"
lastName: "Rafaelli"
# Options
options =
language: 'en'
# If you want to use fixture data, say for testing
options.useFixtures = true
@templater = new Templater
@templater.fetchEmail fileName, data, options, (err, result) ->
# Result is an object with properties: html, plain, subject
console.log result.html
# There is another public method, "get_templates".
# This was for jade templates, and is being deprecated.
@template.get_templates(fileName, data, options, callback)
# Testing and viewing templates
If you install Dojo Templater locally, you can run `sh sample.sh` to test a particular template.
Look at `index.test.coffee` to change which template renders.
For viewing all the templates, have a look at `teach.classdojo.com/mailer/index`.
Here, you can see a list of all templates. Click the link to view a preview of the email in your browser.
IMPORTANT: When you add a new template, please update the `src/fixtures.coffee` file and add info about your template to the `index' fixture.
This is the only way to keep `teach.classdojo.com/mailer/index` up to date.