Daniel Siepmann
c45dee45b0
Use one functional test to ensure everything works, no unit tests with heavy mocking. Update mjml to fix security issues and allow new options. Provide GitHub Actions. This is a public extension with free minutes which should ensure that existing setup still works. |
||
---|---|---|
.github/workflows | ||
Classes | ||
Configuration | ||
Resources/Public/Icons | ||
Tests/Functional | ||
.gitignore | ||
.styleci.yml | ||
.travis.yml | ||
composer.json | ||
ext_conf_template.txt | ||
ext_emconf.php | ||
ext_localconf.php | ||
package-lock.json | ||
package.json | ||
phpcs.xml.dist | ||
phpunit.xml.dist | ||
README.md |
MJML
https://mjml.io integration for TYPO3 EXT:Form
MJML is 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. https://mjml.io/getting-started-onboard
Installation
Over composer:
composer require saccas/mjml
NPM
Npm is needed for the conversion of the MJML file to HTML
Usage in EXT:Form
You can overwrite the default finishersEmailMixin so that he uses the MjmlEmailFinisher or create your own.
TYPO3:
CMS:
Form:
mixins:
finishersEmailMixin:
implementationClassName: 'Saccas\Mjml\Domain\Finishers\MjmlEmailFinisher'
MJML Documentation
https://mjml.io/documentation/
Usage in your distribution
To automate the installation of the npm packages, you could add the following lines to your composer.json
"scripts": {
"post-install-cmd": [
"cd web/typo3conf/ext/mjml && npm prune --production"
],
"post-update-cmd": [
"cd web/typo3conf/ext/mjml && npm prune --production"
],
"pre-deploy": [
"cd web/typo3conf/ext/mjml && npm prune --production"
]
}