git mv www/assets/%version/* www/assets/
put all the platform logos in the same directory
rewrite the static cache hooks

use etags instead of version and datetimes
create helper function to compute asset URLs with etags appended
replace uses of `asset_url` with calls to the new `asset()` helper
compile "dynamic" assets during wireup
add etags to URLs within CSS
Remove reduntant website.cache_static check
adapt 410.spt to the context of the error
only check the extension once
Tweak for 100-char lines
Return None instead of Request from 304 function
Return None instead of Response for another func
Don't overload request object

Instead, place new objects in the state dict.
Move 304 check a little earlier
Duplicate default error page for non-user 410

Yes, this is WET as all get out and we want our own custom error pages
for everything. But until we have those we should keep consistent with
what we *do* have. An internal redirect or some such might this DRYer
but for now this is easy enough. This is a one-star ticket anyway. :P
Ignore compiled assets
Set Cache-Control (etc.) for 304
Don't ignore assets/gratipay.{css,js} after all

https://botbot.me/freenode/gratipay/2014-11-03/?msg=24762538&page=3
Add clarifications to compile_assets