Commit graph

392 commits

Author SHA1 Message Date
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
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
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
e4e8beb958
WebSub-ping the kind-specific entry URLs as well, not just the generic ones 2017-11-09 10:14:50 +11:00
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
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
5308e28d98
1.6.1 2017-11-06 21:13:49 +11:00
78b2f8220d
Add simple support for sending Webmentions using the ronkyuu library 2017-11-06 21:08:02 +11:00
3cc2fe798f
Whoops, fix up the WebSub ping implementation - it should actually work now 2017-11-06 21:05:00 +11:00
5c643299c7
Permit span[class] in bleached content 2017-11-06 16:06:25 +11:00
1762b102fb
Remove an unwanted extra margin 2017-11-06 13:48:15 +11:00
e7df63d6f8
Make the entries on the homepage a .container so they look right on narrow displays 2017-11-06 13:44:52 +11:00
475302eb07
Forgot to urlencode the list of URLs posted up to Superfeedr 2017-11-06 11:49:43 +11:00
45298abb98
Actually queue up the ping_hub operation on the queue by using its delay() method 2017-11-06 11:46:43 +11:00
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
382b7ee4a9
Fix the rel for the micropub endpoint 2017-11-03 20:47:59 +11:00
3394eb72e8
1.6.0 2017-11-03 20:46:10 +11:00
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
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
cfe0f47d0f
Switch from PyJWT to python-jose, since it supports more features and has more documentation 2017-11-03 17:42:57 +11:00
5b70c59f83
Advertise the new token endpoint 2017-11-03 17:19:25 +11:00
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
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
3d5b537369
Oops, forgot to put .objects after the model to get the actual manager 2017-11-03 16:19:26 +11:00
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
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
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
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
6b1cd896ea
Handle IndieAuth redirect URIs that already have query parameters 2017-11-03 12:14:15 +11:00
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
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
1c09be1b1c
Switch from database-persisted auth codes to stateless JSON Web Tokens :) 2017-11-02 16:36:16 +11:00
41d490ea80
Put the shortcuts for returning 40* responses into lemoncurry.utils 2017-11-02 16:16:04 +11:00
1e56d5a09a
Install django-model-utils and use it for automatic timestamp fields on entries 2017-11-02 12:59:23 +11:00
4b4ab324cc
Enable analytics in production 2017-11-01 16:18:48 +11:00
06278935b6
Add support for selecting scopes during IndieAuth's 'code' type 2017-11-01 13:27:55 +11:00
0a202a215d
Include references to the Atom and RSS feeds in the host-meta 2017-11-01 11:09:12 +11:00
387e7d859c
Smarter handling of IndieAuth code verification, including verifying the response type is correct 2017-11-01 10:56:49 +11:00
5555cdfd1e
Render the entry content to HTML when syndicating it as Atom or RSS 2017-11-01 09:32:42 +11:00
730a2bcb9d
Added support for RSS and Atom feeds, because why not 2017-11-01 09:29:59 +11:00
c34ec965a1
Improved host-meta support, with correct JRD format and more links to stuff 2017-10-31 15:42:20 +11:00
ee9992603c
1.5.2 2017-10-31 15:10:22 +11:00
5aa4eed816
Add simple /robots.txt support 2017-10-31 15:10:13 +11:00
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
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
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
91fc632703
Tweak the styling of entry footers 2017-10-31 14:05:34 +11:00
b053ba3c88
Order sites by domain rather than by name 2017-10-31 13:57:55 +11:00
8a9f41759e
Add a field site.domain, so that profiles can be labeled as username@domain, WebFinger style 2017-10-31 13:47:47 +11:00
76305543fa
Just glue the netloc and path together rather than using urlunparse - it doesn't need to be a valid URL, just a nice-looking one 2017-10-30 15:02:49 +11:00