项目作者: kairos666

项目描述 :
use foundation email template builder programmatically
高级语言: CSS
项目地址: git://github.com/kairos666/inky-email-render-to-string.git
创建时间: 2017-02-20T20:40:19Z
项目社区:https://github.com/kairos666/inky-email-render-to-string

开源协议:MIT License

下载


foundation-email-process-output

use foundation inky v2 email template builder programmatically.
Provide data and receive a string back.

alt tag

install

  1. npm install inky-email-render-to-string

usage

instanciate the class with the path to email templates folder. Then you can use the produceMail method with parameters to output a promise with the email as a string.
You can render several email templates as long as they share the same default layout.

  1. const InkyMailOutput = require('inky-email-render-to-string');
  2. // create instance with relative root path to template assets folder
  3. let instance = new InkyMailOutput('email-template');
  4. // provide mail (template, conf, data) --> return processed email as promise
  5. let templateName = 'basic';
  6. // respective folders (see Inky/Panini Docs) + mail subject
  7. let emailConfig = {
  8. root: 'pages',
  9. layouts: 'layouts',
  10. partials: 'partials',
  11. helpers: 'helpers',
  12. css: 'css/app.css',
  13. subject: 'My Basic Email Template Subject'
  14. };
  15. // all data to populate the email template
  16. let emailData = {
  17. title: 'Hi, Susan Calvin',
  18. content: {
  19. lead: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magni, iste, amet consequatur a veniam.',
  20. body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut optio nulla et, fugiat. Maiores accusantium nostrum asperiores provident, quam modi ex inventore dolores id aspernatur architecto odio minima perferendis, explicabo. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima quos quasi itaque beatae natus fugit provident delectus, magnam laudantium odio corrupti sit quam. Optio aut ut repudiandae velit distinctio asperiores?',
  21. callout: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit repellendus natus, sint ea optio dignissimos asperiores inventore a molestiae dolorum placeat repellat excepturi mollitia ducimus unde doloremque ad, alias eos!'
  22. }
  23. };
  24. // render email and rceive promise based email string
  25. instance.produceMail(templateName, emailConfig, emailData).then(
  26. function(resp) {
  27. console.log('successful email render', resp);
  28. },
  29. function(error) { console.log(error); }
  30. );

Note: the email-template folder is provided as a sample based on Foundation email template. You can delete it and provide your own. Remember to modify the config accordingly.

Changelog

v0.0.2

  • no need to pass data folder property in emailConfig. It is setup automatically.
  • fixed root path calculation when used as dependency package