René Kijewski 462c04c0a0 Make JSON prettifying optional
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
2024-06-25 00:12:25 +02:00
..
2024-06-17 18:33:34 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-25 00:12:25 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00
2024-06-17 15:58:52 +02:00