Skip to content

GarryFlemings/intellij-mjml-support

 
 

Repository files navigation

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

For architecture decision records please take a look at docs/adr, this will give you an idea why implementations are as they are.

About

MJML support for the IntelliJ Platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 96.8%
  • JavaScript 2.4%
  • Other 0.8%