* start html head refactor
this is a bit of a doozy tbh and will probably take a while. the templates are very highly duplicated but not duplicated enough to be an easy little thing
oh well, so it goes.
* some easier html head ones
* add chat, html_head, sign_up_failed_ref, sign_up, submit
* CSP: put it in const.py instead of this weird thing we did before
* fix syntax error
* better call the actual macros
* fix prev commit
* import into settings2
* fix prev commit
* set CSP properly if localhost
* some title fixes i think
* login page
* fix prev commit
* hacky thing to get titles to work i think
* {{stylesheets()}}
* fix prev commit
* title stuff
* cries uncontrollably
* submission fixes i think
* fix prev commit i think
* submission fixes ekfjdhfkdjf
* submission fixes 4
* this may fix submissions idk tbh
* default template: make it a little better on post pages
* default template: some efficiency
Commit began by changing the duplicated SITE_NAME conditional in the
header to use a `has_logo` param, much like the recent `has_sidebar`.
From there, a need to include site-specific assets in assetcache was
revealed, adding the `asset_siteimg(...)` macro. This was applied
quite broadly, though not comprehensively.
Previously, the three instances of 'Report[s]' and one instance of
'Coin[s]' in the UI templates were always pluralized, even when they
referred to a singular instance. This has been corrected by creating
a `plural` helper macro.
Additionally, this was used as impetus to create `utils/helpers.html`
to eventually move more recurring template logic into macros.
For too long, we've Replace-All'd to increment site asset version
numbers. This is a task that has an obvious solution using the
templating engine. As such, we now have templates/util/assetcache.html
which contains a dict of version numbers and a macro to generate the
versioned name of an asset.
Going forward, it is recommended that all future replace-all uses
are used as opportunities to switch to the macro. Do remember to
import the macro in all top-level templates, if not already present.
Recommended form: {%- from 'util/assetcache.html' import asset -%}
Then add a key to CACHE_VER in util/assetcache.html.
Then replace the asset path in templates eg: {{asset('css/main.css')}}
For all future versions of those assets, one can simply increment
the value in util/assetcache.html instead. This will greatly reduce
git spam touching unrelated files and generally be clearer and easier.
Adds award to enable viewing profile visitors for non-mops and
non-patrons. This commit should encompass all frontend, backend, and
database changes necessary. Perhaps usable as a model for other
user upgrade flag awards.