htmlcompiler.templates.Mustache Maven / Gradle / Ivy
package htmlcompiler.templates;
import htmlcompiler.error.TemplateParseException;
import org.apache.maven.project.MavenProject;
import org.trimou.engine.MustacheEngine;
import org.trimou.engine.MustacheEngineBuilder;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Mustache implements TemplateEngine {
private final MustacheEngine engine;
private final Map model;
public Mustache(final MavenProject project) {
this.engine = MustacheEngineBuilder.newBuilder().build();
this.model = applyMavenProjectContext(applyEnvironmentContext(new HashMap<>()), project);
}
@Override
public String processTemplate(File file) throws IOException, TemplateParseException {
return engine.compileMustache(Files.readString(file.toPath())).render(model);
}
private static Map applyMavenProjectContext(final Map context, final MavenProject project) {
for (final Entry © 2015 - 2025 Weber Informatics LLC | Privacy Policy