Commit graph

62 commits

Author SHA1 Message Date
Danielle McLean 40f0bd858b
Stop pooling Postgres connections, because Django's pool isn't thread-safe and breaks under gevent 2018-07-10 15:25:01 +10:00
Danielle McLean 7d17a92793
Introduce a middleware that allows for HttpResponses to be thrown from inner utility functions, to avoid boilerplate in views 2018-07-03 09:41:00 +10:00
Danielle McLean 5f9aca20c4
Throw out support for AMP, because AMP sucks anyway 2018-06-12 12:27:35 +10:00
Danielle McLean 4c0be4ce8b Load Postgres parameters from the environment so that it can work with GitLab CI 2018-06-04 09:32:47 +10:00
Danielle McLean c9f66eb91c
Install mypy and make the minimum changes necessary for it to pass, albeit using --ignore-missing-imports 2018-05-29 09:37:28 +10:00
Danielle McLean 8d4444cfb9
Provide our own MessagePack serialiser class for django-redis, since the included one doesn't work properly with msgpack <= 0.5.4 2018-05-28 21:18:18 +10:00
Danielle McLean b59962a119
Start porting stuff from Django templates to Jinja2 - I've only done the lemonauth templates so far, and the layout is missing some meta stuff (hoping to reduce how much of that is needed) but it works 2018-05-28 21:15:02 +10:00
Danielle McLean a62522d36a
Make some performance tweaks - persistent database connections, static file hashing, conditional GET support (ETags and stuff) 2018-05-28 17:52:24 +10:00
Danielle McLean 9fb2e8552f
Switch the dev environment from SQLite to also use Postgres, so that Postgres-specific data types can be used 2018-05-10 14:20:09 +10:00
Danielle McLean c55f437885
Add pyup-django to warn me if Django's dangerously outdated 2018-05-09 21:00:30 +10:00
Danielle McLean b32cefe762
Ban CORS requests to the siteadmin and to the auth forms, just in case 2018-05-09 01:29:30 +10:00
Danielle McLean 4d974a5364
Create a basic but functional micropub media endpoint :o 2018-05-07 22:28:48 +10:00
Danielle McLean 8cbe51277e
Install django-extensions for lots more manage.py commands 2018-04-26 13:35:31 +10:00
Danielle McLean b649a79afc
Load the lemoncurry app FIRST so it can override templates and stuff from third-party apps 2018-04-26 10:40:11 +10:00
Danielle McLean 8dd5fc0f50
Whoops, use a path relative to the project dir to load the theme module into Stylus 2018-04-26 10:32:01 +10:00
Danielle McLean 1d079abd19
Set myself as a Django admin, so I get emails about production server errors 2018-04-26 10:27:11 +10:00
Danielle McLean 0936bcb311
Clean up lemoncurry.settings.base in accordance with flake8 2018-04-24 13:05:25 +10:00
Danielle McLean 01d5745fa7
Change the cache serialiser from pickle to MessagePack for way better performance 2018-04-24 12:46:36 +10:00
Danielle McLean 0f95cfa0bc
Switch from django-redis-cache to django-redis, which does the same thing but is actively maintained 2018-04-24 12:45:05 +10:00
Danielle McLean 1654ceecf3
Switch from django-favicon-plus to django-super-favicon, it performs better and doesn't require a DB table 2018-04-20 12:35:51 +10:00
Danielle McLean 025910029e
Add support for the django.contrib.admindocs feature 2018-04-20 11:21:00 +10:00
Danielle McLean 43348a89da
Add support for serving users' avatars through the Libravatar API 2018-03-23 12:56:13 +11:00
Danielle McLean 098284a617
Remove django-shorturls with my own implementation, since it's incompatible with Django 2 and unmaintained 2018-03-21 21:50:40 +11:00
Danielle McLean 169f0687cb
Start implementing webmention receiving :o the status page is ugly and there's no actual verification yet, but good start at least ;) 2018-03-19 21:11:04 +11:00
Danielle McLean 45daf529f8
Switch the preferred password hash from PBKDF2 to the newer and more secure Argon2 2018-02-06 16:18:15 +11:00
Danielle McLean 40ead1bbe1
Provide simple support for fetching entries in AMP format - can't handle images yet and needs some other tweaks, but works nicely so far c: 2018-01-13 14:49:38 +11:00
Danielle McLean 0fd65d3c2b
Enable CORS using django-cors-headers 2018-01-11 09:32:45 +11:00
Danielle McLean a7f6824334
Implement request caching in Redis so that we don't always have to fetch remote pages every time we want their mf2 items 2017-11-10 09:17:32 +11:00
Danielle McLean e853e22362
Install django-rq and use it to ping WebSub, rather than blocking the micropub request during pings 2017-11-06 11:04:22 +11:00
Danielle McLean 9a98fcdf4f
Introduce some very, VERY basic support for micropub - only h-entry works, and only the name and content properties can actually be set, but it works 2017-11-03 20:45:29 +11:00
Danielle McLean 4b4ab324cc
Enable analytics in production 2017-11-01 16:18:48 +11:00
Danielle McLean 7027c74035
Install django-shorturls to generate simple shortpermalinks for entries :3 2017-10-29 12:56:30 +11:00
Danielle McLean 21786d6e6c
Install django-annoying, which provides some nice shortcuts for common operations 2017-10-29 12:41:33 +11:00
Danielle McLean c354830653
Enable django.contrib.sites rather than using a custom lemoncurry-specific setting for the site name 2017-10-29 12:12:39 +11:00
Danielle McLean 6678c4cdbb
Install WebSub plugin - it can't actually push anything yet because there's no micropub, and therefore no pinging, but it's a start 2017-10-27 20:32:50 +11:00
Danielle McLean 0419a844ce
Load the Material colour scheme directly from the source YAML, rather than hardcoding it into Stylus format 2017-10-27 11:34:34 +11:00
Danielle McLean eaf54a4e83
Install the django-debug-toolbar plugin for lots of handy info during development 2017-10-27 08:05:50 +11:00
Danielle McLean 8f8e53bb27
Switch from django-markdown-deux to a pipeline thru markdown for rendering + bleach for sanitising 2017-10-26 14:40:29 +11:00
Danielle McLean 09bf6b8596
Eek, just disable link patterns entirely for now, they're pretty buggy 2017-10-26 09:50:14 +11:00
Danielle McLean c4f7ea7fc6
Enable autolinking and a bunch of other handy Markdown features 2017-10-26 09:23:51 +11:00
Danielle McLean e88b631cdb
Enable Markdown rendering support for user notes and entry content 2017-10-25 13:25:58 +11:00
Danielle McLean 950459cd5f
Very, very rudimentary support for making h-entries: they don't look so good and don't appear on the homepage yet but it's a good start 2017-10-25 12:01:52 +11:00
Danielle McLean 7f17d50486
Enable django-otp-agents, for preserving OTP trust over time 2017-10-25 01:46:18 +11:00
Danielle McLean 3f3bb05a25
Add TOTP support with django-otp 2017-10-25 01:25:03 +11:00
Danielle McLean 9efb167bc9
Mark 'active' navbar items accordingly, using django-activeurl 2017-10-25 00:40:38 +11:00
Danielle McLean c210650ca7
Switch from using the admin login/logout pages to custom 'lemonauth' pages 2017-10-24 23:50:57 +11:00
Danielle McLean 1670b6d427
Switch from Memcached to Redis 2017-10-24 22:22:56 +11:00
Danielle McLean 8ef64d6a87
Some basic support for gross SEO metadata formats with django-meta 2017-10-24 21:57:07 +11:00
Danielle McLean 1aed52b75f
Enable session caching for somewhat improved performance 2017-10-24 21:17:38 +11:00
Danielle McLean 501c91bd12
Add a simple sitemap using django.contrib.sitemaps - there aren't a lot of pages to map so far so it's pretty basic ;) 2017-10-24 21:14:17 +11:00