# Static Email (Template) Generator
[](https://codecov.io/gh/gkmngrgn/meyl)
MEYL is a **developer-first** and **accessibility-first** email generator app. I
write this app to create, edit, test, and manage all emails using a template
engine. You can use it for generating single emails or you can create reusable
email templates for Mandrill, SendGrid, Zapier, etc.
You can also edit text-based email content for the visual-impaired humans or OCR
users, but if you forget that somehow, MEYL will auto-generate it for you.
## Simple Usage
```
# create new project directory
meyl new email-templates
# generate emails
meyl generate --source=email-templates/src/ \
--destination=email-templates/dst/
# send a test mail to preview
meyl send --template=email-templates/dst/wedding-invitation/ \
--email="john.doe@localhost"
```
## Immutable Variables
- subject
- body
## Email Folder Structure
All templates should have:
1. a subject.html,
2. and a body.html.
You don't need to create also a body_text.html but in case, MEYL will
auto-generate it for making your emails more accessible for all human being.
```
email-templates
|
|- dst Destination Template Folder
| | |- body_text.html Email Content (in Text Format)
| | |- subject.html Subject
| |
| |- wedding-invitation Template Name: Wedding Invitation
| | |- body.html Email Content
| | |- body_text.html Email Content in Text Format
| | |- subject.html Subject
|
|- src Source Template Folder
| |- base.html Base Template
| |- style.css Styles
| |- partials Template Partials
| | |- button.html
| | |- title.html
| |- payroll
| | |- body.html
| | |- subject.html
| |- wedding-information
| | |- body.html
| | |- body_text.html
| | |- subject.html
|
```
## TO DO
- [ ] multilanguage support.
- [ ] digest css styles to html inside.
- [ ] support to embed markdown files to the email body as a variable.
- [x] auto-generate executable files every release (linux, win, mac).
- [x] allow only BODY content in html files, we can add HTML and HEAD parts
programmatically.
- [x] test rendered outputs.
- [x] change Email struct parameters: src_dir, dst_dir, template_name.
- [x] minify rendered outputs.
- [x] make css styles inline for html templates.
- [x] choose a template engine to render email contents.
- [x] I also need a arg parser for CLI.
- [x] create project skeleton.