* 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
we currently spam the /is_repost api on every single character change in the URL box even though there is no way these URLs would ever be submitted to the site
introducing a frankly conservative limit to where we start actually pinging both the api and (on the backend) the database for reposts may help in some cases
the current constant was chosen by taking the length of "http://" and adding 2 to it
* sign up follow id is now a thing (if not specified will just msg carp instead)
* notification thread id is also a constant now
* blackjackbtz id is a constant, used for i think special PM handling
* make HTML body length a constant and use it
* abort before uploads and other tasks if comment level is too deep
* what a nightmare of two functions, please do better next time