- Avoid fighting import cycles using a factory function
- Collapse useless subpackages into simple modules
- Move flask plugins / infrastructure in own module
- Refactor how blueprints are used to localize information about
URL routing to app factory
- Support for blockquotes
- Support for lists (ol, ul)
- Make tertiary buttons more obvious by using an underline
- Extend demo to showcase new features
The raw values now map to names describing their hue. Only when
mapping them to variable names, we assign semantic meaning. This
allows easy re-use of colour values between different semantic
meanings and changing e.g. accent vs. primary without affecting
the use as warning.
- Fix etag attaching (add_etag is actually a coroutine which hashes
the data payload)
- Add expires header (with now + 1800s default) so that we don’t
get hit with an avatar request on each load -- also helps with
page responsiveness.
- Proper handling for HEAD requests.
- CSP to prevent funny SVG attacks.
If a session cookie is set, but prosody doesn’t know about the
session anymore, we could get into fun states. This patch fixes
them by requiring the session to be tested with a ping request
on each HTTP request.
This allows us to include _theme to get all the variables. The
idea is that we may, in the future, be able to use a few different
CSS files if we have complex (= large) features which are only
needed rarely.
- Create a colour palette
- Create a sizing schema for paddings and fonts
- Implement basic form controls
- Create a theme demo page
- Apply the theme to the existing pages.
Still TODO is the final font selection.