package com.hubspot.jinjava.lib.filter; import java.util.Objects; import org.apache.commons.lang3.StringEscapeUtils; import com.hubspot.jinjava.doc.annotations.JinjavaDoc; import com.hubspot.jinjava.doc.annotations.JinjavaParam; import com.hubspot.jinjava.doc.annotations.JinjavaSnippet; import com.hubspot.jinjava.interpret.JinjavaInterpreter; @JinjavaDoc( value = "Enforce HTML escaping. This will probably double escape variables.", params = @JinjavaParam(value = "value", desc = "Value to escape"), snippets = { @JinjavaSnippet( code = "{% set escape_string = \"<div>This markup is printed as text</div>\" %}\n" + "{{ escape_string|forceescape }}\n") }) public class ForceEscapeFilter implements Filter { @Override public String getName() { return "forceescape"; } @Override public Object filter(Object var, JinjavaInterpreter interpreter, String... args) { return StringEscapeUtils.escapeHtml4(Objects.toString(var, "")); } }