Commit Graph

59 Commits

Author SHA1 Message Date
1eb14f3fb5
Ensure feed titles reference the full site 2022-10-30 12:53:35 +00:00
fe3c741347
Construct HTML title in Python
Site is cached, and makes it easier to reference elsewhere
2022-10-30 12:53:15 +00:00
b6fa67163f
Only show ToC if there are enough items 2022-10-29 14:57:12 +01:00
b515b6368c
Optimise for cache hits
Don't select/prefetch for listing, because we cache the entire listing item. This makes the main query more efficient, thus page loads faster.
2022-10-04 20:49:29 +01:00
6775a336e1
Revert "Add the ability to cache model attributes in redis"
This reverts commit 7c008c2149.
2022-10-02 16:17:55 +01:00
7c008c2149
Add the ability to cache model attributes in redis
This not only means they persist longer than the instance, but can also be shared between processes. This is especially useful for list pages, as rendering content for summaries etc is quite expensive
2022-09-29 22:59:23 +01:00
bccc948995
Restructure fields in editor pages
Move as much as possible out of the "Content" tab, so that's just about
the actual content
2022-09-21 13:30:06 +01:00
f40681d06a
Add caching to listing feeds 2022-09-04 17:34:04 +01:00
ee307bcfbf
Define rich text features in settings
This removes them from migrations, avoiding the need to create new ones
when they change
2022-09-03 21:07:27 +01:00
a053e27833
Use richtext for subtitle 2022-09-03 17:00:09 +01:00
eaa5b063f4
Use smaller, PNG image for meta image
This ensures it's not too large, but also crawlers are more likely to
support PNG than webp
2022-09-03 16:21:24 +01:00
7026aca934
Add account links to footer
Putting them in the navbar is too crowded.
2022-09-02 09:28:35 +01:00
25e49de081
Don't cache page bodies
They're still pretty fast to generate, and doing this breaks previews
completely
2022-08-31 18:54:09 +01:00
557a28833b
Only show public pages 2022-08-28 16:51:27 +01:00
c660e54bae
Add method to prefetch for listing 2022-08-28 14:52:27 +01:00
735ab73ec0
Inline select_related calls 2022-08-28 12:59:09 +01:00
27bce00c46
Remove subtitle from listing pages 2022-08-27 19:55:44 +01:00
2df1e82f31
Allow customizing HTML and hero titles 2022-08-27 13:12:45 +01:00
e19a2456e7
Move listing functionality to generic base page 2022-08-27 12:21:13 +01:00
e6c44e9a8a
Cache page content for a little
This is mostly useful on listing pages
2022-08-24 23:59:17 +01:00
710a4c7955
Humanize reading time 2022-08-19 17:31:40 +01:00
2dd660ed13
Add meta tags 2022-08-19 16:56:20 +01:00
24d92f4760
Use smaller image URL for listing 2022-08-19 14:33:57 +01:00
8952f7eae5
Create base content page rather than need mixin
This makes the subclassing much simpler, and removes type ignore hacks
2022-08-16 21:32:46 +01:00
489a212b7a
Only render content once 2022-08-16 20:50:34 +01:00
cf0a365277
Ensure additional content fields get indexed 2022-07-28 23:06:11 +01:00
d995b412a0
Remove django-stubs
It's just not quite there yet for a lot of things, and makes certain things a right pain!
2022-07-28 20:15:20 +01:00
0601ced3f5
Add indexes to snippets 2022-07-26 08:41:40 +01:00
71c08f5568
Use class name rather than database name for body classes
This avoids duplication and makes the classnames a bit shorter, and more sane.
2022-07-25 19:30:47 +01:00
9b7a2b2c21
Move accounts snippet to new contact app 2022-07-20 09:15:12 +01:00
3306ec4e5a
Fix resolving parent pages
The order is actually correct for what we want. Also update the type
2022-07-16 10:29:47 +01:00
1acaca3ce6
Add social accounts snippet 2022-07-14 22:03:24 +01:00
72ac1bc1da
Add reusable referral links 2022-07-14 22:02:01 +01:00
b155ec2e9b
Allow unsplash images to be used as hero images 2022-07-12 22:45:50 +01:00
72dc3cc4ea
Add chooser for unsplash photos
It doesn't show images, yet
2022-07-12 15:14:27 +01:00
88b6f4b61b
Get content based on original HTML
It can't be done post anchoring, else the '#' end up in the ToC
2022-07-04 19:00:20 +01:00
ccb481726c
Optimise getting content HTML by only parsing the necessary tags 2022-07-04 18:55:18 +01:00
4702afd5dd
Reduce complexity trying to save computation on rendering streamfield
This replaces more custom iteration with caching, which will end up faster anyway, and is more drop-in with the new structure.

Sadly it still renders the content twice, as `get_content_html` requires access to the blocks.
2022-07-03 23:10:57 +01:00
ebfb909c98
Add missing type annotation 2022-07-03 22:00:52 +01:00
03e9da57a1
Add anchor links to headers 2022-07-01 09:25:57 +01:00
af2dba84cd
Get table of contents from body 2022-06-30 23:27:50 +01:00
2012b245a8
Add summary to content 2022-06-26 19:52:20 +01:00
299a6342cc
Add basic word count and reading time 2022-06-26 19:25:30 +01:00
b7163c3076
Create basic streamfield 2022-06-26 18:37:04 +01:00
6f3c7a0162
Pull reading times and word count from Python 2022-06-19 21:16:03 +01:00
6600b9ccb7
Build ToC from python 2022-06-19 20:14:22 +01:00
43bbb7fbcd
Add breadcrumbs 2022-06-19 16:56:47 +01:00
720557d2a6
Read child pages from DB 2022-06-19 16:35:56 +01:00
39a59b88db
Add skeleton listing page 2022-06-19 13:23:41 +01:00
3b51546fce
Ensure hero images are optional 2022-06-19 11:36:15 +01:00