Commit Graph

194 Commits

Author SHA1 Message Date
Danielle McLean a518d72a7d
Add PGP keys and XMPP handle to the WebFinger output 2017-11-10 10:30:09 +11:00
Danielle McLean 85d95fb5d7
Extend the host-meta with extra fields and sort them by rel 2017-11-10 10:17:19 +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 b8a8cd62cf
Refactor micropub into a class-based view so that it can have a GET handler implemented as well (since that's needed to query for config info and stuff) 2017-11-09 13:55:44 +11:00
Danielle McLean b47716249e
Use display: inline-block to keep the little entry info widgets from breaking apart, rather than white-space: nowrap 2017-11-09 12:17:07 +11:00
Danielle McLean e4e8beb958
WebSub-ping the kind-specific entry URLs as well, not just the generic ones 2017-11-09 10:14:50 +11:00
Danielle McLean 6b51531cb4
Add a user field specifically for XMPP, because it needs to be handled a little differently to the user profiles (different mf2 property, stuff like that) 2017-11-06 22:02:12 +11:00
Danielle McLean 5349fc4c96
Handle webmention endpoint discovery separately - sendWebmention() is meant to do it itself but doesn't quite work 2017-11-06 21:41:27 +11:00
Danielle McLean 5308e28d98
1.6.1 2017-11-06 21:13:49 +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 3cc2fe798f
Whoops, fix up the WebSub ping implementation - it should actually work now 2017-11-06 21:05:00 +11:00
Danielle McLean 5c643299c7
Permit span[class] in bleached content 2017-11-06 16:06:25 +11:00
Danielle McLean 1762b102fb
Remove an unwanted extra margin 2017-11-06 13:48:15 +11:00
Danielle McLean e7df63d6f8
Make the entries on the homepage a .container so they look right on narrow displays 2017-11-06 13:44:52 +11:00
Danielle McLean 475302eb07
Forgot to urlencode the list of URLs posted up to Superfeedr 2017-11-06 11:49:43 +11:00
Danielle McLean 45298abb98
Actually queue up the ping_hub operation on the queue by using its delay() method 2017-11-06 11:46:43 +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 382b7ee4a9
Fix the rel for the micropub endpoint 2017-11-03 20:47:59 +11:00
Danielle McLean 3394eb72e8
1.6.0 2017-11-03 20:46:10 +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 a3f23e3b4d
Set the primary background colour on the <html> element instead, so overflow scrolling looks better in most cases 2017-11-03 18:10:16 +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 5b70c59f83
Advertise the new token endpoint 2017-11-03 17:19:25 +11:00
Danielle McLean 179f5753ed
Implement a token endpoint - currently all tokens last forever and can't be revoked, but I can add revocation later without too much trouble 2017-11-03 17:18:00 +11:00
Danielle McLean 9add6be8e4
Remove the pointless verify_auth_code wrapper - it's easier to do the verification work in the view anyway 2017-11-03 16:40:09 +11:00
Danielle McLean 3d5b537369
Oops, forgot to put .objects after the model to get the actual manager 2017-11-03 16:19:26 +11:00
Danielle McLean ab810a8f94
Simplify the auth code format a little: the 'me' value can be computed from the user ID and so is redundant 2017-11-03 16:14:30 +11:00
Danielle McLean 43a56e865e
Add the current user's ID to the auth code, will be handy when making a token since we need to know who the token's for 2017-11-03 15:51:27 +11:00
Danielle McLean 40810d6310
Refactor the actual JWT calls into separate functions since I'll be needing them for tokens as well as auth codes 2017-11-03 14:37:39 +11:00
Danielle McLean 6f6bb4e534
Improve JWT security by specifying the algorithm used, and also use shorter key names to make the code a little shorter 2017-11-03 14:33:27 +11:00
Danielle McLean 6b1cd896ea
Handle IndieAuth redirect URIs that already have query parameters 2017-11-03 12:14:15 +11:00
Danielle McLean b658bf5c79
Default to form encoding rather than JSON, since legacy clients that don't support JSON usually also don't ask for a certain format 2017-11-03 11:51:34 +11:00
Danielle McLean 92cd38cbb0
Make relative redirect URIs redirect to the right place, by urljoining them with the client ID 2017-11-03 11:28:26 +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 41d490ea80
Put the shortcuts for returning 40* responses into lemoncurry.utils 2017-11-02 16:16:04 +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 06278935b6
Add support for selecting scopes during IndieAuth's 'code' type 2017-11-01 13:27:55 +11:00
Danielle McLean 0a202a215d
Include references to the Atom and RSS feeds in the host-meta 2017-11-01 11:09:12 +11:00
Danielle McLean 387e7d859c
Smarter handling of IndieAuth code verification, including verifying the response type is correct 2017-11-01 10:56:49 +11:00
Danielle McLean 5555cdfd1e
Render the entry content to HTML when syndicating it as Atom or RSS 2017-11-01 09:32:42 +11:00
Danielle McLean 730a2bcb9d
Added support for RSS and Atom feeds, because why not 2017-11-01 09:29:59 +11:00
Danielle McLean c34ec965a1
Improved host-meta support, with correct JRD format and more links to stuff 2017-10-31 15:42:20 +11:00
Danielle McLean ee9992603c
1.5.2 2017-10-31 15:10:22 +11:00
Danielle McLean 5aa4eed816
Add simple /robots.txt support 2017-10-31 15:10:13 +11:00
Danielle McLean 7090db3c37
Add JSON-LD support to entries too, mostly so Google can understand the site a little better 2017-10-31 14:51:50 +11:00
Danielle McLean 371401d441
Teach users how to generate their own JSON-LD representation rather than doing it in the view code 2017-10-31 14:33:16 +11:00
Danielle McLean a86188fcb6
Put the JSON-LD version of my user profile inside my h-card, so it's easy to access with an mf2 parser if you want it (although I dunno why you would) 2017-10-31 14:24:30 +11:00
Danielle McLean 91fc632703
Tweak the styling of entry footers 2017-10-31 14:05:34 +11:00
Danielle McLean b053ba3c88
Order sites by domain rather than by name 2017-10-31 13:57:55 +11:00