trim/strip filtry vynucují HTML

Mormegil
Člen | 1
+
+1
-

Zdá se mi, že trim, resp. strip filtry by mohly být víceméně transparentní pro různé typy obsahu, avšak pokud se nepletu, momentálně natvrdo tvrdí, že jejich obsah je HTML.

Pokud vezmu tutorial-quickstart a do @layout.latte vložím do <head> něco jako

<script>
{block|trim}
   var x = 3 < 5;
{/block}
</script>

tak mi to chcípne na user warning Filters: unable to convert content type HTML to HTMLJS, přestože není žádný důvod, proč by ten trim měl JavaScript, který má uvnitř, “zkonvertovat” na HTML, které posílá ven. (Navíc lže: žádné HTML nevyrábí, to menšítko ponechá neoescapované.) IMHO by na výstupu trim měl být stejný typ obsahu, jako byl na vstupu, a tenhle příklad by měl normálně projít bez varování a jen odstranit to odsazení na začátku řádku.

MasterPK
Člen | 6
+
0
-

Je na to nějaké řešení? Narazil jsem na stejný problém.

David Grudl
Nette Core | 8218
+
+1
-

To je bug. Opraveno v 2.10.3

forgie
Bronze Partner | 18
+
0
-

Chápu že to je asi divné, ale hodilo by se mi uvnitř <script></script> použít {control nějakýControl}.
To ovšem končí v Latte 2.10.3 stejnou chybou:


Latte\RuntimeException
Filters: unable to convert content type HTML to HTMLJS


Nebude toto v Latte 2.10.+ možné používat?

Editoval forgie (1. 6. 2021 22:32)

David Grudl
Nette Core | 8218
+
0
-

Zkus nette/application 3.1-dev, mělo by fungovat {control |noescape}.

forgie
Bronze Partner | 18
+
0
-

To je bomba!
Díky moc, funguje.