68f72743c5ee10d23cceae2512e8746a2e9d1b74
This is needed because jinja2 had an update which caused the portal to
not work at all:
```
ImportError: cannot import name 'escape' from 'jinja2'
```
Quart needed updating for that.
This update required a lot of typefixes. Apparently, the "canned"
responses (like redirect) are now plain werkzeug responses, while
quart.Response does not inherit from werkzeug.Response (otherwise, we
could've changed the type annotations to werkzeug.Response everywhere,
but that doesn't work because a quart.Response is not a
werkzeug.Response).
P.S.: This time, I *did* check that avatar uploads don't break (see
b007afc).
Snikket Web Portal
Development quickstart
$ direnv allow
$ cp example.env .env
$ $EDITOR .env # to adapt the configuration to your needs
$ pip install -r requirements.txt
$ pip install -r build-requirements.txt
$ make
$ quart run
Configuring
Purely via environment variables
For a list of required and understood environment variables as well as their
semantics, please refer to example.env.
Via python code
In addition to statically setting environment variables, it is possible to
initialise the environment variables in a python file. To do that, pass the
path to the python file as SNIKKET_WEB_PYENV environment variable.
The python file is evaluated before further environment variable processing takes place. Every name defined in that file which begins with an upper case ASCII letter is included in the processing of environment variables for configuration purposes.
For a (non-productive) example of such a file, see example.env.py.
Languages
Python
46.1%
HTML
34.7%
SCSS
13.3%
Jinja
2.9%
Shell
1%
Other
2%
