@Override public String asJavascript() { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("marker_template.html"); compiledTemplate.evaluate(writer, getContext()); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }
/** * This method resolves the given relative path based on this template file path. * * @param relativePath the path which should be resolved. * @return the resolved path. */ public String resolveRelativePath(String relativePath) { String resolved = this.engine.getLoader().resolveRelativePath(relativePath, this.name); if (resolved == null) { return relativePath; } else { return resolved; } }
@Override public void renderString(String templateContent, Map<String, Object> model, Writer writer) { String language = (String) model.get(PippoConstants.REQUEST_PARAMETER_LANG); if (StringUtils.isNullOrEmpty(language)) { language = getLanguageOrDefault(language); } Locale locale = (Locale) model.get(PippoConstants.REQUEST_PARAMETER_LOCALE); if (locale == null) { locale = getLocaleOrDefault(language); } try { PebbleEngine stringEngine = new PebbleEngine.Builder() .loader(new StringLoader()) .strictVariables(engine.isStrictVariables()) .templateCache(null) .build(); PebbleTemplate template = stringEngine.getTemplate(templateContent); template.evaluate(writer, model, locale); writer.flush(); } catch (Exception e) { throw new PippoRuntimeException(e); } }
/** * Initializes the evaluation context with settings from the engine. * * @param locale The desired locale * @return The evaluation context */ private EvaluationContextImpl initContext(Locale locale) { locale = locale == null ? this.engine.getDefaultLocale() : locale; // globals ScopeChain scopeChain = new ScopeChain(); Map<String, Object> globals = new HashMap<>(); globals.put("locale", locale); globals.put("template", this); globals.put("_context", new GlobalContext(scopeChain)); scopeChain.pushScope(globals); // global vars provided from extensions scopeChain.pushScope(this.engine.getExtensionRegistry().getGlobalVariables()); return new EvaluationContextImpl(this, this.engine.isStrictVariables(), locale, this.engine.getExtensionRegistry(), this.engine.getTagCache(), this.engine.getExecutorService(), new ArrayList<>(), new HashMap<>(), scopeChain, null, this.engine.getEvaluationOptions()); }
evaluationOptions.setGreedyMatchMethod(this.greedyMatchMethod); return new PebbleEngine(this.loader, this.syntax, this.strictVariables, this.defaultLocale, this.tagCache, this.templateCache, this.executorService, extensions, parserOptions, evaluationOptions);
private static PebbleEngine build(Directory root, StampoGlobalConfiguration configuration) { PebbleEngine e = new PebbleEngine(new PebblePathLoader(configuration.getContentDir(), configuration.getLayoutDir(), configuration.getBaseDirectory(), root)); e.addExtension(new PebbleExtension(configuration)); return e; }
@Bean @ConditionalOnMissingBean(name = "pebbleViewResolver") public PebbleViewResolver pebbleViewResolver() { PebbleViewResolver pvr = new PebbleViewResolver(); this.properties.applyToViewResolver(pvr); pvr.setPebbleEngine(this.pebbleEngine); if (this.pebbleEngine.getLoader() instanceof ClasspathLoader) { // classpathloader doesn't like leading slashes in paths pvr.setPrefix(stripLeadingSlash(this.properties.getPrefix())); } return pvr; } }
/** * Initializes the evaluation context with settings from the engine. * * @param locale The desired locale * @return The evaluation context */ private EvaluationContext initContext(Locale locale) { locale = locale == null ? this.engine.getDefaultLocale() : locale; // globals Map<String, Object> globals = new HashMap<>(); globals.put("locale", locale); globals.put("template", this); ScopeChain scopeChain = new ScopeChain(globals); // global vars provided from extensions scopeChain.pushScope(this.engine.getExtensionRegistry().getGlobalVariables()); return new EvaluationContext(this, this.engine.isStrictVariables(), locale, this.engine.getExtensionRegistry(), this.engine.getTagCache(), this.engine.getExecutorService(), new ArrayList<PebbleTemplateImpl>(), scopeChain, null); }
return new PebbleEngine(loader, syntax, strictVariables, defaultLocale, tagCache, templateCache, executorService, extensions);
public String asJavascript() { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("layout_template.html"); compiledTemplate.evaluate(writer, getContext()); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }
@Bean @ConditionalOnMissingBean(name = "pebbleViewResolver") public PebbleViewResolver pebbleViewResolver() { PebbleViewResolver pvr = new PebbleViewResolver(); this.properties.applyToMvcViewResolver(pvr); pvr.setPebbleEngine(this.pebbleEngine); if (this.pebbleEngine.getLoader() instanceof ClasspathLoader) { // classpathloader doesn't like leading slashes in paths pvr.setPrefix(stripLeadingSlash(this.properties.getPrefix())); } return pvr; } }
/** * Initializes the evaluation context with settings from the engine. * * @param locale The desired locale * @return The evaluation context */ private EvaluationContextImpl initContext(Locale locale) { locale = locale == null ? this.engine.getDefaultLocale() : locale; // globals ScopeChain scopeChain = new ScopeChain(); Map<String, Object> globals = new HashMap<>(); globals.put("locale", locale); globals.put("template", this); globals.put("_context", new GlobalContext(scopeChain)); scopeChain.pushScope(globals); // global vars provided from extensions scopeChain.pushScope(this.engine.getExtensionRegistry().getGlobalVariables()); return new EvaluationContextImpl(this, this.engine.isStrictVariables(), locale, this.engine.getExtensionRegistry(), this.engine.getTagCache(), this.engine.getExecutorService(), new ArrayList<>(), new HashMap<>(), scopeChain, null, this.engine.getEvaluationOptions()); }
evaluationOptions.setGreedyMatchMethod(this.greedyMatchMethod); return new PebbleEngine(this.loader, this.syntax, this.strictVariables, this.defaultLocale, this.tagCache, this.templateCache, this.executorService, extensions, parserOptions, evaluationOptions);
@Override public String asJavascript() { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("changeLine_template.html"); compiledTemplate.evaluate(writer, getContext()); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }
@Override public void afterPropertiesSet() { Loader<?> templateLoader = this.pebbleEngine.getLoader(); templateLoader.setPrefix(this.getPrefix()); templateLoader.setSuffix(this.getSuffix()); }
@Override public String asJavascript(int i) { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("trace_template.html"); compiledTemplate.evaluate(writer, getContext(i)); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }
@Override public void afterPropertiesSet() { Loader<?> templateLoader = this.pebbleEngine.getLoader(); templateLoader.setPrefix(this.getPrefix()); templateLoader.setSuffix(this.getSuffix()); }
public String asJavascript() { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("font_template.html"); compiledTemplate.evaluate(writer, getContext()); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }
@Override public void afterPropertiesSet() { Loader<?> templateLoader = this.pebbleEngine.getLoader(); templateLoader.setPrefix(this.getPrefix()); templateLoader.setSuffix(this.getSuffix()); }
@Override public String asJavascript(int i) { Writer writer = new StringWriter(); PebbleTemplate compiledTemplate; try { compiledTemplate = engine.getTemplate("pie_trace_template.html"); compiledTemplate.evaluate(writer, getContext(i)); } catch (PebbleException | IOException e) { e.printStackTrace(); } return writer.toString(); }