Multi Project Workflow - MJML
This workflow will allow you to keep all of your MJML projects in one place if needed. You can work on projects individually or compile all of the projects at once. There is also a custom watch option so that you work on an individual project. For more info on how the project came about check this blog post
git clone firstname.lastname@example.org:garmeeh/mjml-multi-project.git yarn install
This will initialize the project with a sample project (cuppas).
To Remove Sample Project & Clean Git run:
Running this will remove the sample project and git. You will need to manually remove
Adding a new project
yarn create-project "newproject"
You will need to add your new project to
This will create the following folder structure:
├── newproject/ * new project | ├── common * directory to hold partial includes for templates | ├── COMPILED_TEMPLATES * output folder for this projects templates (.html) | ├── templates * mjml template files
$ yarn compile
This will prompt you to pick a project that you would like to compile.
$ yarn compile-all
As the name suggests this will compile all of your projects. This is handy if you are integrating with a CI.
$ yarn watch
This will allow you to work on an individual project and it will auto compile your templates on file change/save.
$ yarn create-project "newproject"
This will scaffold out a new project directory.
$ yarn clean-up
Running this will remove the sample project and git.
mjml-multi-project/ ├── cuppas/ * example project | ├── common * directory to hold partial includes for templates | ├── COMPILED_TEMPLATES * output folder for this projects templates (.html) | ├── templates * mjml template files │ ├── scripts/ | ├── index.js * | ├── compile.js * │ ├── inquirer.js * │ ├── publish.js * | ├── watch.js * │ ├── tools/ * helper tools for running the project | ├── logger.js * adds a touch of colour to console logs | ├── .babelrc * https://babeljs.io/docs/usage/babelrc/ ├── .editorconfig * http://editorconfig.org/ ├── .eslintrc * https://eslint.org/docs/user-guide/configuring ├── .gitignore * https://git-scm.com/docs/gitignore ├── package.json * https://docs.npmjs.com/files/package.json ├── projects.config.js * Configuration file for this project └──
- Add publish script which will give options of uploading templates to API
- Add tests for scripts
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!