Estou tentando usar o MarkupTemplateEngine para renderizar um modelo em MJML, mas depois de tentar por um tempo estou começando a duvidar se isso é possível. É possível ou não ? Se sim, gostaria de ter um exemplo que funcione para testar.
Até agora o que eu fiz:
import groovy.text.markup.*
String mjmlTemplate = '''
mjml {
mj-head {
mj-title('Hello World')
mj-preview('This is a preview text')
}
mj-body {
mj-section {
mj-column {
mj-text('Hello World from MJML')
}
}
}
}
'''
TemplateConfiguration config = new TemplateConfiguration();
MarkupTemplateEngine engine = new MarkupTemplateEngine(config);
def template = engine.createTemplate(mjmlTemplate)
def renderedMJML = template.make().toString()
println renderedMJML
o erro que recebi:
Caught: java.lang.NullPointerException: Cannot invoke method minus() on null object
java.lang.NullPointerException: Cannot invoke method minus() on null object
at GeneratedMarkupTemplate0$_run_closure1$_closure2.doCall(GeneratedMarkupTemplate0:4)
at GeneratedMarkupTemplate0$_run_closure1$_closure2.doCall(GeneratedMarkupTemplate0)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at GeneratedMarkupTemplate0$_run_closure1.doCall(GeneratedMarkupTemplate0:3)
at GeneratedMarkupTemplate0$_run_closure1.doCall(GeneratedMarkupTemplate0)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at GeneratedMarkupTemplate0.run(GeneratedMarkupTemplate0:2)
at test.run(test.groovy:30)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
Se eu testar a renderização de HTML, tudo funcionará bem.