/** * Each helper must be registered with a unique name. If there are more * helpers registered with the same name an {@link IllegalArgumentException} * is thrown. Use {@link #registerHelpers(Map, boolean)} to overwrite the * helpers. * * @param helpers * @return self */ public MustacheEngineBuilder registerHelpers(Map<String, Helper> helpers) { return registerHelpers(helpers, false); }
builder.registerHelper("webjarsAt", new WebjarsAtHelper(router)); builder.registerHelper("publicAt", new PublicAtHelper(router)); builder.registerHelpers(HelpersBuilder.extra().build());
@Setup public void setup() { template = MustacheEngineBuilder.newBuilder() // Disable HTML escaping .setProperty(EngineConfigurationKey.SKIP_VALUE_ESCAPING, true) // Disable useless resolver .setProperty(CombinedIndexResolver.ENABLED_KEY, false) .addTemplateLocator(ClassPathTemplateLocator.builder(1).setRootPath("templates").setScanClasspath(false).setSuffix("trimou.html").build()) .registerHelpers(HelpersBuilder.extra().build()) // This is a single purpose helper // It's a pity we can't use JDK8 extension and SimpleHelpers util class .registerHelper("minusClass", new BasicValueHelper() { @Override public void execute(Options options) { Object value = options.getParameters().get(0); if (value instanceof Double && (Double) value < 0) { options.append(" class=\"minus\""); } // We don't handle any other number types } }).build().getMustache("stocks"); this.context = getContext(); }
builder.registerHelper("webjarsAt", new WebjarsAtHelper(router)); builder.registerHelper("publicAt", new PublicAtHelper(router)); builder.registerHelpers(HelpersBuilder.extra().build());