yogthos/Selmer
Ver no GitHubQuoted strings as tag arguments have their quotes escaped and preserved
Open
#235 aberto em 6 de jul. de 2020
enhancementhelp wanted
Métricas do repositório
- Stars
- (670 stars)
- Métricas de merge de PR
- (Mesclagem média 39m) (4 fundiu PRs em 30d)
Description
Is it possible to have a quoted string as an argument to a tag, without the surrounding quotes being preserved in the output?
Selmer, as expected, does treat the quoted string as a single argument, but passes the string to the tag function with its quotes, escaped, as part of the string.
Or perhaps there's another notation which allows a string with spaces to be treated as a single argument?
(use 'selmer.parser)
(add-tag! :foo
(fn [args context-map]
(str "foo " (first args))))
(render "{% foo \"quux quuz\" %}" {})
=>"foo \"quux quuz\""
Using render-file removes the need to escape the quotes in the template file, but still introduces them in the output:
file.txt:
{% foo "quux quuz" %}
(render-file "file.txt" {})
=>"foo \"quux quuz\""
The {% safe %} tag has no discernible effect:
file.txt:
{% safe %}{% foo "quux quuz" %}{% endsafe %}
(render-file "file.txt" {})
=>"foo \"quux quuz\""