Skip to content

Commit

Permalink
Add list of ports and wrappers to the documentation (#2510)
Browse files Browse the repository at this point in the history
* Add list of ports and wrappers.
* Add a warning
  • Loading branch information
SebastianStehle authored Aug 25, 2022
1 parent 77c9a78 commit 45d9cbf
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"mjml/packages/mjml-wrapper/README.md",
"mjml/doc/ending-tags.md",
"mjml/doc/community-components.md",
"mjml/doc/ports.md",
"mjml/doc/mjml-chart.md",
"mjml/doc/mjml-chartjs.md",
"mjml/doc/mjml-qr-code.md",
Expand Down
57 changes: 57 additions & 0 deletions doc/ports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Ports and Language Bindings

MJML is available for other platforms. The community has created ports to other platforms and wrappers for the official Node implementation. These contributions are not officially supported by the MJML teams.

## Rust: MRML

This project is a reimplementation of the nice MJML markup language in Rust.

https://github.com/jdrouet/mrml

### Missing implementations / components:

- `mj-style[inline]`: not yet implemented. It requires parsing the generated html to apply the inline styles afterward (that's how it's done in mjml) which would kill the performances. Applying it at render time would improve the performance but it would still require to parse the CSS.
- `mj-include`: not yet implemented. It requires to handle loading remote templates when using mrml in a wasm (browser or server side) format, which implies being able to load from a different location (`file://`, `https://`, relative, etc).

## .NET: MJML.NET

A blazingly-fast unofficial port of MJML 4 to .NET 6.

https://github.com/SebastianStehle/mjml-net

### Missing implementations / components

- `mj-style[inline]`: not yet implemented for performance reasons.
- `mj-include`: not yet implemented because the library is used by server applications where the template is stored in the database.
- `mj-html-attributes`: not yet implemented for performance reasons.

## Elixir: MJML (Rust NIFs for Elixir)

Native Implemented Function (NIF) bindings for the MJML Rust implementation (mrml).

https://github.com/adoptoposs/mjml_nif

## Ruby: MRML Ruby

Ruby wrapper for MRML, the MJML markup language implementation in Rust.

https://github.com/hardpixel/mrml-ruby

## React: mjml-react

React components for MJML components.

https://github.com/wix-incubator/mjml-react

## Python / Django: django-mjml

The simplest way to use MJML in Django templates.

https://github.com/liminspace/django-mjml

## PHP / Laravel: Laravel MJML

Build responsive e-mails easily using MJML and Laravel Mailables.


https://github.com/asahasrabuddhe/laravel-mjml

0 comments on commit 45d9cbf

Please sign in to comment.