freemarker icon indicating copy to clipboard operation
freemarker copied to clipboard

Add fine-grained mixed-content support to markup output formats.

Open nolaviz opened this issue 2 years ago • 0 comments

The existing logic is all-or-nothing: either an output format permits mixed content, in which case output of any other format may be interspersed in it, or it does not - and mixed content is completely disallowed. (The latter is recommended, as mixed content often indicates an application bug).

This PR enables an output format to enable mixed content while implementing an outputForeign method, which can inspect the foreign output's MIME type, and either pass it through, block it, or even output the foreign-format content using the new format. This e.g. enables a custom format to embed (and custom-escape) HTML that was provided in the data model as TemplateHTMLOutputModel rather than a plain string.

nolaviz avatar Aug 25 '22 05:08 nolaviz