defmodule Mjml do @moduledoc """ Provides functions for transpiling MJML email templates to HTML. """ mix_config = Mix.Project.config() version = mix_config[:version] github_url = mix_config[:package][:links]["GitHub"] use RustlerPrecompiled, otp_app: :mjml, crate: "mjml_nif", base_url: "#{github_url}/releases/download/v#{version}", force_build: System.get_env("MJML_BUILD") in ["1", "true"], version: version @doc """ Converts an MJML string to HTML content. (Passing any options – which the underlying mrml Rust crate already handles – is not yet implemented.) Returns a result tuple: - `{:ok, html}` for a successful MJML transpiling - `{:error, message}` for a failed MJML transpiling ## Examples iex> Mjml.to_html("") {:ok, " Mjml.to_html("something not MJML") {:error, "Couldn't convert MJML template"} """ def to_html(_mjml), do: error() defp error(), do: :erlang.nif_error(:nif_not_loaded) end