|
6dfbb830ef
|
Add IE11 deterrent
|
2022-09-03 16:35:39 +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 |
|
|
be009dcb37
|
Convert all images to webp
It's so much smaller!
|
2022-09-03 16:15:08 +01:00 |
|
|
8691d11a15
|
Only render comments in debug
|
2022-09-02 17:20:03 +01:00 |
|
|
7fff13f0ab
|
Add lightbox for content images
|
2022-09-02 17:18:40 +01:00 |
|
|
611e343564
|
Just use a simple icon field
The library has some issues, even if it is great
https://github.com/saschaludwig/django-fontawesome-6/pull/2
|
2022-09-02 15:29:12 +01:00 |
|
|
7026aca934
|
Add account links to footer
Putting them in the navbar is too crowded.
|
2022-09-02 09:28:35 +01:00 |
|
|
6d60cedc6f
|
Add comments
|
2022-09-02 08:27:42 +01:00 |
|
|
22e99502cb
|
Add 2FA
This should only be required in production, but we'll see how it goes.
It doesn't work quite how I expected it to.
|
2022-09-01 08:53:54 +01:00 |
|
|
54af457d8e
|
Add SRI
|
2022-09-01 08:36:39 +01:00 |
|
|
5d370a0712
|
Unify pygments stylesheet
It's less generic and less cool, but this bakes the styles for dark and
light into a single stylesheet, and deals with switching without any JS.
|
2022-08-31 23:02:13 +01:00 |
|
|
488369a247
|
Add filename and header show checkbox to code block
|
2022-08-31 22:30:08 +01:00 |
|
|
df09ec0f38
|
Ensure request is passed into the singleton URL cache
This removes needing extra queries
|
2022-08-31 19:06:02 +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 |
|
|
27dc383d17
|
Use relative URL for singletons
It's rare they'll be needed externally, and this way there's less to do
|
2022-08-31 09:16:25 +01:00 |
|
|
ce3690384e
|
Make code header a solid bar instead
This is much easier to layout, and has the benefit of being able to fit
more in.
The transform was still leaving space allocated, which looked odd
|
2022-08-31 09:05:32 +01:00 |
|
|
768223ba67
|
Add spacing around plusses in language dropdown
It looks so much better!
|
2022-08-30 22:49:05 +01:00 |
|
|
f3b603a82a
|
Add language and clipboard buttons to code blocks
|
2022-08-30 22:48:45 +01:00 |
|
|
1e9ff9f24b
|
Remove CORS header from static files
|
2022-08-28 22:28:43 +01:00 |
|
|
e7c4acce8b
|
Add the ability to password protect pages
Useful for sharing drafts
|
2022-08-28 22:02:02 +01:00 |
|
|
9ee46721c9
|
Use Wagtail login screen for admin-protected pages
Should never happen, but at least it won't look terrible
|
2022-08-28 20:34:23 +01:00 |
|
|
6f073c6cfc
|
Update module name
This will handle more than just URLs
|
2022-08-28 20:30:50 +01:00 |
|
|
442aeb21b8
|
Use singleton URL cache
|
2022-08-28 20:22:55 +01:00 |
|
|
ac46c0ae0b
|
Add start of simple module to help with caching singleton URLs
|
2022-08-28 17:42:21 +01:00 |
|
|
557a28833b
|
Only show public pages
|
2022-08-28 16:51:27 +01:00 |
|
|
47980032b0
|
Add autocomplete for blog pots tags
|
2022-08-28 16:18:31 +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 |
|
|
6403aca2a2
|
Add tests for search page
|
2022-08-28 12:57:10 +01:00 |
|
|
edbedcd0fa
|
Remove unnecessary extra query during search
Just pass the original queryset, which helps ordering and performance
|
2022-08-28 12:56:26 +01:00 |
|
|
4ca2a97b2a
|
Update queries for favicon and add cache
It shouldn't change much, so let's cache it
|
2022-08-28 00:13:19 +01:00 |
|
|
4b1d873bf8
|
Extend time for session cookies
|
2022-08-27 23:54:31 +01:00 |
|
|
358013e16a
|
Add favicon
|
2022-08-27 23:44:56 +01:00 |
|
|
46836a6d30
|
dark-mode
|
2022-08-27 23:20:30 +01:00 |
|
|
eddf4c88d1
|
Use monokai as the dark mode
I prefer how it looks
|
2022-08-27 22:48:22 +01:00 |
|
|
27bce00c46
|
Remove subtitle from listing pages
|
2022-08-27 19:55:44 +01:00 |
|
|
e79625a441
|
Correctly allow ordering of collection pages
`.specific` isn't quite as magical as it needs to be, so we have to be
explicit
|
2022-08-27 13:13:14 +01:00 |
|
|
2df1e82f31
|
Allow customizing HTML and hero titles
|
2022-08-27 13:12:45 +01:00 |
|
|
3d155bb46f
|
Add management command to refresh caches of spotify playlists
|
2022-08-27 13:10:33 +01:00 |
|
|
2b0779b26a
|
Install sentry
|
2022-08-27 12:59:02 +01:00 |
|
|
48c5aa0e56
|
Test queries for list page
|
2022-08-27 12:39:50 +01:00 |
|
|
d83e3e0afe
|
Ensure all listing pages have pagination controls and feed links
|
2022-08-27 12:32:16 +01:00 |
|
|
e19a2456e7
|
Move listing functionality to generic base page
|
2022-08-27 12:21:13 +01:00 |
|
|
655d3a484e
|
Fix indenting of time titles
|
2022-08-27 11:09:41 +01:00 |
|
|
d2e1cde927
|
Remove unnecessary extra div in footer
|
2022-08-26 23:25:02 +01:00 |
|
|
0fbd36ce3e
|
Add pagination to blog post list
|
2022-08-26 23:13:06 +01:00 |
|
|
958a838f98
|
Remove accidental import
Damn auto-import!
|
2022-08-26 10:10:46 +01:00 |
|
|
e0d17394b8
|
Don't index body on spotify pages
This includes API data, of which there is a lot
|
2022-08-25 23:52:46 +01:00 |
|
|
a4471a49ee
|
Store cookies securely
|
2022-08-25 23:16:20 +01:00 |
|
|
fb739f93fc
|
Add basic logging config
|
2022-08-25 23:15:27 +01:00 |
|
|
b7c18946b2
|
Store redirect files in cache
|
2022-08-25 23:08:59 +01:00 |
|
|
ccc9e24e77
|
Add some extra security headers
|
2022-08-25 23:08:04 +01:00 |
|
|
309955a052
|
Load images async
|
2022-08-25 22:42:33 +01:00 |
|
|
3f9288f5cb
|
Ensure hero images are prefetched during lists
|
2022-08-25 22:27:28 +01:00 |
|
|
2539cc3538
|
Refresh body HTML async
|
2022-08-25 14:24:00 +01:00 |
|
|
01d84fd29b
|
Add keybase URL
|
2022-08-25 14:11:47 +01:00 |
|
|
37ab598d0d
|
Move well-known templates to well-known app
|
2022-08-25 14:07:08 +01:00 |
|
|
82e7a00d8a
|
Add plausible
|
2022-08-25 14:01:32 +01:00 |
|
|
a48aeeb55d
|
Add management command to refresh content pages
|
2022-08-25 01:29:22 +01:00 |
|
|
a7aefb5ffc
|
Add basic tests for LMOTFY endpoints
|
2022-08-25 00:51:29 +01:00 |
|
|
fb44600ca2
|
Add more fields to LMOTFY serializer
|
2022-08-25 00:27:31 +01:00 |
|
|
e6c44e9a8a
|
Cache page content for a little
This is mostly useful on listing pages
|
2022-08-24 23:59:17 +01:00 |
|
|
d46fab9bdc
|
Add basic LMOTFY endpoint
|
2022-08-23 14:56:05 +01:00 |
|
|
f140e8107d
|
Add endpoint to list page URLs
I use this for my quick link grabber script
|
2022-08-23 09:23:22 +01:00 |
|
|
4a82d1262d
|
Add a basic rate limit
|
2022-08-23 08:43:58 +01:00 |
|
|
67095752d2
|
Add caching to schema views
|
2022-08-23 08:39:38 +01:00 |
|
|
8dea738893
|
Redirect API root to swagger docs
|
2022-08-23 08:37:00 +01:00 |
|
|
fc141c9778
|
Add the skeleton for an API app
URL handling is a hack, but it works
|
2022-08-22 23:26:39 +01:00 |
|
|
10005dfe02
|
Add all pages feed
This one is much simpler than the pages one, as there could be a lot of
pages
|
2022-08-22 23:17:16 +01:00 |
|
|
922e259aaf
|
Add legacy redirect app
|
2022-08-22 21:11:46 +01:00 |
|
|
bfa4755871
|
Move well-known URLs into their own app
|
2022-08-22 20:33:52 +01:00 |
|
|
e74dbcc228
|
Add matrix client well-known view
|
2022-08-22 14:43:58 +01:00 |
|
|
31c370c13e
|
Don't cache security.txt view for full expiry time
This could result in the expiry time being in the past
|
2022-08-22 14:39:12 +01:00 |
|
|
a110b9c34e
|
Add cache to robots.txt view
|
2022-08-22 14:38:32 +01:00 |
|
|
521595a781
|
Add view to serve matrix server well-known URL
|
2022-08-22 14:37:29 +01:00 |
|
|
10b32da3e0
|
Add crontab to project
Cron will likely be a duplicate compose service with a different
command.
|
2022-08-20 20:48:27 +01:00 |
|
|
2fe0960623
|
Add management command to clear cache
|
2022-08-20 18:51:01 +01:00 |
|
|
32a1486840
|
Ensure captions are optional
|
2022-08-20 18:38:28 +01:00 |
|
|
900aaad850
|
Simplify caching for pygments styles
|
2022-08-20 18:32:25 +01:00 |
|
|
fd445375ae
|
Add caching to a few simple URLs
These do a few queries, and don't change often - ideal for caching
|
2022-08-20 18:31:08 +01:00 |
|
|
2a46a70620
|
Add more elements to the dark mode
|
2022-08-20 17:45:12 +01:00 |
|
|
727ad725d1
|
Add dark mode toggle
|
2022-08-20 15:31:14 +01:00 |
|
|
3e6547881e
|
Rename blog post models
A "blog" isn't a blog "post"
|
2022-08-20 14:20:12 +01:00 |
|
|
adc6002217
|
Reuse online accounts query on contact page
|
2022-08-20 12:19:54 +01:00 |
|
|
94efdfb1cc
|
Remove icons from navbar
|
2022-08-20 12:12:42 +01:00 |
|
|
90545c3e2a
|
Fix reading time on blog list
|
2022-08-20 11:22:50 +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 |
|
|
af6449c9f8
|
Add a way to disable SEO indexing
Well, "disable"
|
2022-08-19 15:31:27 +01:00 |
|
|
cd4252cd64
|
Return 200 when viewing the dedicated 404 page
|
2022-08-19 15:07:59 +01:00 |
|
|
f452f5deed
|
Add security.txt
|
2022-08-19 15:06:18 +01:00 |
|
|
1abc6da19b
|
Add robots.txt
|
2022-08-19 14:35:38 +01:00 |
|
|
24d92f4760
|
Use smaller image URL for listing
|
2022-08-19 14:33:57 +01:00 |
|
|
09c4b93245
|
Add typed table block
|
2022-08-19 13:48:45 +01:00 |
|
|
5affe274bd
|
Don't serialize all language options in migrations
|
2022-08-19 13:40:40 +01:00 |
|
|
57f5505c24
|
Add 404 page
|
2022-08-19 09:36:03 +01:00 |
|
|
a593dea561
|
Add spacing under results count on search page
|
2022-08-18 14:42:01 +01:00 |
|
|
67c867ddd2
|
Put playlist link in hero
|
2022-08-18 14:32:58 +01:00 |
|
|
fd93df93a8
|
Add share links to spotify page
|
2022-08-18 14:31:02 +01:00 |
|
|
29ce7efc13
|
Move spotify link above playlist
|
2022-08-18 14:30:51 +01:00 |
|
|
8fa27e8c3c
|
Remove unnecessary extra template
|
2022-08-18 14:17:29 +01:00 |
|
|
fcf327e429
|
Derive more page context from spotify API
|
2022-08-18 14:14:46 +01:00 |
|
|
e094974f20
|
Make the spotify table look nicer
|
2022-08-18 09:25:14 +01:00 |
|
|
55b723ba37
|
Cache spotify data
|
2022-08-18 09:21:57 +01:00 |
|
|
872a6c0b30
|
Get all pages of playlist data
This also only gets the fields we need
|
2022-08-18 09:21:48 +01:00 |
|
|
ace30f4dbd
|
Add basic spotify page
It currently doesn't handle pagination, or caching
|
2022-08-17 22:17:32 +01:00 |
|
|
c26397ae8d
|
Separate common tests and add tests for common pages
|
2022-08-17 18:52:07 +01:00 |
|
|
f554c9fb48
|
Add custom buttons to hero
|
2022-08-17 13:40:07 +01:00 |
|
|
0fa1d1c8be
|
Add references to RSS feeds to HTML
|
2022-08-17 08:45:15 +01:00 |
|
|
c5e662f2d8
|
Account for search page not existing
|
2022-08-16 23:24:17 +01:00 |
|
|
5394ebf984
|
Remove endblock name
It was wrong before, but removing it makes life a lot easier
|
2022-08-16 23:23:53 +01:00 |
|
|
37cc1979be
|
Start doing a dark mode myself
darkreader is pretty big, and this is nice, simple and fast.
Not to mention has much less JS
|
2022-08-16 22:51:03 +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 |
|
|
4e177f9400
|
Link search button to search page
For now...
|
2022-08-05 09:46:55 +01:00 |
|
|
4869b47d53
|
Restructure base templates to pull hero into base and remove duplication
|
2022-08-05 09:25:30 +01:00 |
|
|
a0e88f0f78
|
Remove root template dir
|
2022-08-05 08:58:21 +01:00 |
|
|
973a50ea9c
|
Wire up home search input to go to search page
|
2022-08-04 14:17:50 +01:00 |
|
|
bc87524394
|
Stop saving queries
These are only needed for prompted searches
|
2022-08-03 22:14:54 +01:00 |
|
|
1b1617380c
|
Don't try and compress sourcemaps
|
2022-08-03 21:41:24 +01:00 |
|
|
e096dd8cf5
|
Install curlylint
|
2022-08-03 20:34:18 +01:00 |
|
|
668bcc7d5b
|
Add sitemap
|
2022-08-02 22:20:36 +01:00 |
|
|
bc18764ccf
|
Hide "to top" footer buttons on homepage
The homepage doesn't scroll, so it's a bit pointless
|
2022-08-02 22:10:34 +01:00 |
|
|
cdb037a9c8
|
Remove django admin
|
2022-08-02 21:33:48 +01:00 |
|
|
96e623e3db
|
Move serializer to different file
|
2022-08-02 21:28:51 +01:00 |
|
|
809cc5d454
|
Require search results be HTMX
|
2022-08-02 21:22:35 +01:00 |
|
|
996f7b9c2a
|
Add all the relevant search messages
|
2022-08-02 21:11:35 +01:00 |
|
|
bcc9a2c2f2
|
Add search results counter
|
2022-08-02 09:27:43 +01:00 |
|
|
7647ace4a0
|
Add a loading spinner
|
2022-08-01 22:23:06 +01:00 |
|
|
5b4ff2b4e9
|
Only allow GET for search results
|
2022-08-01 21:42:06 +01:00 |
|
|
750ed5aa39
|
Remove unnecessary method
|
2022-08-01 21:27:40 +01:00 |
|
|
93030852b5
|
Do search if querystring is provided
|
2022-08-01 21:23:55 +01:00 |
|
|
fb78f3f993
|
Use HTMX for search page
|
2022-07-31 15:28:48 +01:00 |
|
|
53123ad93e
|
Install django-htmx
|
2022-07-29 23:00:44 +01:00 |
|
|
5da96236be
|
Add a basic search input to search page
|
2022-07-29 22:49:08 +01:00 |
|
|
2ae2a2c158
|
Show message when there's no search terms
|
2022-07-29 22:34:48 +01:00 |
|
|
c4109e42f1
|
Use serializer to validate search params
|
2022-07-29 16:50:44 +01:00 |
|
|
3bce2fb880
|
Exclude some page types from search
|
2022-07-29 09:18:09 +01:00 |
|
|
ef30a91067
|
Move page size to model
|
2022-07-29 09:11:14 +01:00 |
|
|
11932fa49e
|
Don't show code in plaintext
|
2022-07-29 09:11:04 +01:00 |
|
|
cf0a365277
|
Ensure additional content fields get indexed
|
2022-07-28 23:06:11 +01:00 |
|
|
86c9ac5e7f
|
Automatically rebuild site indexes in local dev
|
2022-07-28 22:41:11 +01:00 |
|
|
a0f115fdc4
|
Add the basics of a search view
|
2022-07-28 22:40:23 +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 |
|
|
e2e0144b6a
|
Setup gunicorn for production WSGI server
|
2022-07-28 14:53:22 +01:00 |
|
|
b92f2f4043
|
Add a Wagtail search page
It doesn't do any searching, yet
|
2022-07-26 08:53:49 +01:00 |
|
|
0601ced3f5
|
Add indexes to snippets
|
2022-07-26 08:41:40 +01:00 |
|
|
0c3b6633bd
|
Allow there to be no blog posts for homepage
|
2022-07-25 22:01:08 +01:00 |
|
|
f8d5cc5ba5
|
Add feeds to blog list pages
|
2022-07-25 21:58:06 +01:00 |
|
|
9288f97381
|
Remove redundant condition
|
2022-07-25 20:10:49 +01:00 |
|