/dama

D.A.M.A is a skeleton for the creation of e-mail templates.

Primary LanguageJavaScriptOtherNOASSERTION

cover

D.A.M.A is a skeleton for the creation of e-mail templates.

✨ Features

  • Templating engine (Nunjucks)
  • Easy responsive e-mails (Mjml)
  • Easy to install, deploy, and maintain
  • Customizable and scalable
  • Built-in BrowserSync server
  • Materialize Preview

NOTE: This project is currently a work in progress.

💻 Installation

Requirements

Now clone this repository

git clone https://github.com/alandawi/dama.git

Then open the folder in your command line and install the dependencies:

npm install

Usage

To develop your newsletters:

npm run dev

To generate the build:

npm run build

Then you can check the output files inside the build folder.

🏗️ About the structure

Folders

  • /node_modules - Contains the node modules generated by running npm.
  • /src - Contains the source code.
  • /src/data - Contains the .yml files.
  • /src/layouts - Contains the .mjml files related to the layouts (for example you can use one layout for multiple newsletters).
  • /src/partials - Contains the .mjml files related to the partials (like the header, footer, and more).
  • /src/templates - Contains the newsletters (one folder by newsletter).

Files

  • .babelrc - Contains babel configuration.
  • data.yml - All the data injected on the newsletters.
  • gulpfile.babel.js - All the configuration for the Gulp Tasks.
  • .mjml - Custom extension for MJML.
  • .gitignore - These files should not end up in git.
  • package.json - To list the npm package information, dependencies, and contains all the scripts that can be run.

📖 Documentation

Nunjucks

A rich and powerful templating language for JavaScript. - More information

Mjml

A markup language designed to reduce the pain of coding a responsive email. Its semantic syntax makes it easy and straightforward and its rich standard components library speeds up your development time and lightens your email codebase. MJML’s open-source engine generates high quality responsive HTML compliant with best practices. - More information