Commit graph

55 commits

Author SHA1 Message Date
Danielle McLean ce07ba8cdc
Perform a pipenv update since everything is old 2019-01-17 11:43:30 +11:00
Danielle McLean c8faa30724
Switch to another relative-date-formatting library which supports tiny abbreviated formats 2018-06-28 12:57:09 +10:00
Danielle McLean 741c2eb234
Switch from stateless JOSE tokens to stateful tokens in the DB, since they can then be much smaller and we're using a DB anyway 2018-06-12 14:57:53 +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 142e3eff2b
Ugh. Fix the new MessagePack serialiser to interface reliably with the msgpack library (gotta pass some flags and stuff) - also, actually depend on msgpack to make sure we have it 2018-05-28 21:33:20 +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 15e5219e3a
Install Werkzeug so that runserver_plus is available 2018-05-28 17:49:57 +10:00
Danielle McLean 4a208a91b6
Push pytest-django, and also ptpython, into dev-packages 2018-05-11 14:57:04 +10:00
Danielle McLean 4dd7a6dcc4
Switch to psycopg2-binary - don't actually need it, libpq is available in all my environments, but it'll shush some warnings 2018-05-11 14:04:38 +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 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 commands 2018-04-26 13:35:31 +10:00
Danielle McLean 092cd5ca18
Explicitly depend on gevent, since apparently depending on it as a Gunicorn 'extra' might not install it :/ 2018-04-26 10:22:02 +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 9d30534d1d
Explicitly depend on the gevent extra for Gunicorn, since we make a lot of HTTP requests and so absolutely need async workers 2018-04-24 11:31:30 +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 365110544c
Upgrade Django to 2.0.3, yay! 2018-03-21 22:02:27 +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 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 dffa2d9d50
Install pytest for designing and running automated test suites 2018-02-02 15:06:59 +11:00
Danielle McLean 957fc4ada7
Lock Django to 1.11 in Pipfile, so it won't accidentally upgrade to 2 when I try to install unrelated packages 2018-01-24 12:57:10 +11:00
Danielle McLean 0fd65d3c2b
Enable CORS using django-cors-headers 2018-01-11 09:32:45 +11:00
Danielle McLean e72a6b01f0
Start implementing reply context! It's ugly and doesn't actually link the original post yet but you *can* see the original post's author and content :3 2017-11-16 21:52:42 +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 78b2f8220d
Add simple support for sending Webmentions using the ronkyuu library 2017-11-06 21:08:02 +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 cfe0f47d0f
Switch from PyJWT to python-jose, since it supports more features and has more documentation 2017-11-03 17:42:57 +11:00
Danielle McLean 1c09be1b1c
Switch from database-persisted auth codes to stateless JSON Web Tokens :) 2017-11-02 16:36:16 +11:00
Danielle McLean 1e56d5a09a
Install django-model-utils and use it for automatic timestamp fields on entries 2017-11-02 12:59:23 +11:00
Danielle McLean 4b4ab324cc
Enable analytics in production 2017-11-01 16:18:48 +11:00
Danielle McLean 3c95eeeefb
Insist on Python 3.6, since the 'secrets' module for making secure tokens isn't available in 3.5 2017-10-29 17:13:28 +11:00
Danielle McLean acce72e90e
Implement the auth-code verification step, producing a complete IndieAuth implementation for 'id' type (nothing for 'code' type yet tho) 2017-10-29 17:07:36 +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 55731c63ce
Add support for generating a simple Web App Manifest file, which helps mobile browsers display the site smartly 2017-10-28 14:29:07 +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 00d7a29b2d
Add basic support for /.well-known/host-meta(.json)?, not much info in it so far but it works 2017-10-27 12:25:17 +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 93be2f5a32
Half-implement an IndieAuth authorization endpoint - it accepts the right parameters, verifies your client_id, and displays a prompt, but you can't actually approve the auth yet 2017-10-26 11:35:57 +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 2b6691f8a5
Rudimentary but fully-functional entry permalink pages :3 2017-10-25 12:31:08 +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 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 ec45a4c250
Add support for favicons using django-favicon-plus 2017-10-24 14:46:32 +11:00