slickss-email-builder v1.0.0-alpha-1
slickss-email-builder
A npm module that helps you generate emails in HTML.
Install
npm i --save @slickss/email-builder
How to use
import { EmailBuilder } from ' @slickss/email-builder';
// create your email from existing themes
let html = EmailBuilder.renderPage(themeName, pageName, data);
// if you decide to build it on the spot by yourself
let html = EmailBuilder.renderString('<p><%= hello %></p>', { hello:'hello' } );All available themes at views.
You can also check Demo for an example.
Run the Demo locally
Checkout the repository and type:
npm run i && npm run build && npm run start
Tests
Run tests with: npm run test
Developing & contributing
Creating a theme
All theme is made by 2 folders, partials and pages inside a parent folder named with the theme name.
This last folder should be inside views. It is structured like this:
views
│   sample-theme
│   my-another-theme    
│
└───my-new-theme
    │   pages
    │   partialsAs an example you can check how the sample-theme is structured.
Pages will be .ejs files. Each one of these should represent a page.
If you want to reuse some parts of the code between pages you should consider creating a partial.
EJS does not use any kind of protection against circular dependencies, take care.
To know a bit more how EJS works you can check it here.
Developing a new test
- all tests should start with: - process.env.NODE_ENV = 'test'
- use a good name 
- do not rely on random data 
- mock external services 
Commiting
- Run - npm run clean-buildbefore very commit
- If you are about to release do not forget to update the package version 
- Create a git tag for each package version 
- Do not forget to update this file 
Recommended tools
If you are using vscode it is recommended to install .ejs. Great plugin!
License
All rights reserved to SLiCKss
8 years ago