1.0.0-alpha-1 • Published 8 years ago

slickss-email-builder v1.0.0-alpha-1

Weekly downloads
6
License
-
Repository
-
Last release
8 years ago

Build Status

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
    │   partials

As 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-build before 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