0.1.17 • Published 9 years ago

dojo-templater v0.1.17

Weekly downloads
5
License
-
Repository
github
Last release
9 years ago

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. 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 keepteach.classdojo.com/mailer/index` up to date.