mirror of
https://github.com/askama-rs/askama.git
synced 2025-09-29 05:51:32 +00:00

This PR adds an optional argument to the `|tojson` filter, which controls if the serialized JSON data gets prettified or not. The arguments works the same as flask's [`|tojson`][flask] filter, which passes the argument to python's [`json.dumps()`][python]: * Omitting the argument, providing a negative integer, or `None`, then compact JSON data is generated. * Providing a non-negative integer, then this amount of ASCII spaces is used to indent the data. (Capped to 16 characters.) * Providing a string, then this string is used as prefix. I attempts are made to ensure that the prefix actually consists of whitespaces, because chances are, that if you provide e.g. `&nsbp;`, then you are doing it intentionally. This is a breaking change, because it changes the default behavior to not prettify the data. This is done intentionally, because this is how it works in flask. [flask]: https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.tojson [python]: https://docs.python.org/3/library/json.html#json.dump