/intellij-mjml-support

MJML support for the IntelliJ Platform.

Primary LanguageKotlinOtherNOASSERTION

intellij-mjml-support

GitHub Release JetBrains Plugins CircleCI

MJML support for the IntelliJ Platform.

You are missing something or something is broken? - Feel free to file a PR/issue or open a discussion on GitHub!

What's in the box?

Fore more details please look up the plugin description in the marketplace or directly in the plugin.xml.

How can I use it?

  1. Install it from the plugin repository
  2. You are done, enjoy the magic!

Extension

Custom mjml resolution

You want to add custom mjml tags or custom resolving to match your needs?

Simply use the extension point de.timo_reymann.intellij-mjml-support.tagInformationProvider:

<extensions defaultExtensionNs="de.timo_reymann.intellij-mjml-support">
    <tagInformationProvider implementation="my.company.OurCustomTaginformationProvider"/>
</extensions>

Custom rendering

  • Execution context: parent folder for file to render
  • Input from stdin:
      {
        "directory": "absolute path to project root, this might be different from the current file location",
        "content": "file editor content to render"
      }
  • Output to stdout must be in json in this format for:
      {
        "html": "string|null",
        "errors": [
          {
            "line": "integr|null",
            "message":  "string|null",
            "tagName": "string|null",
            "formattedMessage": "string|null"
          } 
        ]
      }
    where errors can be empty, but can never be omitted!

Notes about implementation

  • The preview editor support is adapted from the official markdown plugin
  • Preview uses bundled node_modules for mjml rendering currently, support for custom rendering is currently in development