Add template linting via djlint (#25212)

So I found this [linter](https://github.com/Riverside-Healthcare/djlint)
which features a mode for go templates, so I gave it a try and it did
find a number of valid issue, like unbalanced tags etc. It also has a
number of bugs, I had to disable/workaround many issues.

Given that this linter is written in python, this does add a dependency
on `python` >= 3.8 and `poetry` to the development environment to be
able to run this linter locally.

- `e.g.` prefixes on placeholders are removed because the linter had a
false-positive on `placeholder="e.g. cn=Search"` for the `attr=value`
syntax and it's not ideal anyways to write `e.g.` into a placeholder
because a placeholder is meant to hold a sample value.
- In `templates/repo/settings/options.tmpl` I simplified the logic to
not conditionally create opening tags without closing tags because this
stuff confuses the linter (and possibly the reader as well).
This commit is contained in:
silverwind 2023-06-14 20:17:58 +02:00 committed by GitHub
parent a0eaf08812
commit e24f651c86
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
50 changed files with 520 additions and 171 deletions

4
poetry.toml Normal file
View file

@ -0,0 +1,4 @@
[virtualenvs]
in-project = true
no-pip = true
no-setuptools = true