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
e7617f24de
Populate latest blog post on homepage
2022-07-25 20:02:54 +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
ba7a2d7b4d
Use SVG versions of mermaid diagrams for better quality
2022-07-20 23:31:02 +01:00
fafc0e8828
Simplify navbar styling and disable variants
2022-07-20 21:54:09 +01:00
10094515da
Add the basics of a contact page with accounts list
2022-07-20 09:15:20 +01:00
9b7a2b2c21
Move accounts snippet to new contact app
2022-07-20 09:15:12 +01:00
675d3f38b9
Ensure tags menu item works when the list page doesn't exist
2022-07-20 08:41:40 +01:00
85afe6c41b
Add alt tags to image blocks
2022-07-16 16:04:06 +01:00
c110318608
Test all pages have templates
2022-07-16 15:50:01 +01:00
6b96688adb
Add the concept of post collections
...
For things which are a fixed series (eg yearly repeats)
2022-07-16 15:45:57 +01:00
2ae8ec7045
Optimise getting blog posts for a tag
...
Because we can guarantee there's only 1 `BlogListPage`, the query becomes much simpler
2022-07-16 10:44:48 +01:00
dddecae190
Show content on listing pages
2022-07-16 10:39:20 +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
690095ea52
Replace tag snippets with full pages
...
Makes the page tree a bit more messy, but is much more versatile and means there are fewer hacks in the code to make snippets act like pages in the tree.
2022-07-16 10:29:01 +01:00
153b2c0c59
Revert "Add an actual cache for local development"
...
This reverts commit 8a4d91fecb
.
This actually makes things very annoying
2022-07-16 01:18:45 +01:00
1326214c8f
Rename namespace for static pygments URL
2022-07-16 01:13:48 +01:00
78660500a5
Add tag filtered view to blog list
2022-07-16 00:56:20 +01:00
781870321e
Add snippet links to plain and simple rich text fields
2022-07-15 10:12:15 +01:00
8b16d94bc8
Add tests for steamfield and richtext lists
2022-07-15 10:11:02 +01:00
feba307de7
Add mermaid embed
2022-07-15 10:10:37 +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
0e5f60b4eb
Add management commands to update unsplash photos every x days
2022-07-13 08:55:14 +01:00
310de1acf8
Add RQ
2022-07-13 08:21:06 +01:00
70b08137bc
Add data updated date to unsplash model
...
Used later on for an update script
2022-07-12 22:53:50 +01:00
b155ec2e9b
Allow unsplash images to be used as hero images
2022-07-12 22:45:50 +01:00
a229bb530a
Prevent edit and add thumbnail to chooser and list
2022-07-12 15:48:40 +01:00
72dc3cc4ea
Add chooser for unsplash photos
...
It doesn't show images, yet
2022-07-12 15:14:27 +01:00
382853a384
Add unsplash model for storing images
...
Not wired in quite yet
2022-07-12 09:32:05 +01:00
ae4e24481e
Add date group headers to blog list page
2022-07-10 18:42:16 +01:00
8a4d91fecb
Add an actual cache for local development
2022-07-10 17:14:10 +01:00
ef9128313d
Add a tangent block
2022-07-05 09:03:45 +01:00
e8c3ec86ae
Have animated scroll on table of contents
...
Animated and offset correctly with hero. Requires some extra JS to keep the height up to date.
2022-07-04 22:17:46 +01:00
c526ff0d47
Define font family in CSS not HTML
2022-07-04 20:40:50 +01:00
b9a00e9b83
Use Fira Code for all code
2022-07-04 20:36:19 +01:00
9694ae71bc
Use fira code for code blocks
2022-07-04 20:27:08 +01:00
39f10c1c7c
Add shareon
2022-07-04 20:06:04 +01:00
d5ef68ce32
Style hero a bit more
2022-07-04 19:13:23 +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
65044361a6
Only parse header tags when looking for ToC
2022-07-04 18:56:11 +01:00
ccb481726c
Optimise getting content HTML by only parsing the necessary tags
2022-07-04 18:55:18 +01:00
66ccd52b15
Don't allow H1 tags to be used
...
These should be for the page title only
2022-07-04 09:28:09 +01:00
bb8ef22bfd
Add tests for word count
2022-07-04 09:26:47 +01:00
60e4913e43
Add basic tests for extract_text
2022-07-04 09:21:12 +01:00
51be747103
Remove current page from part of navbar caching
...
We don't show the currently active page in the nav, so this isn't necessary. This also allows the cache to be shared between pages.
2022-07-03 23:13:59 +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
1c7917cb86
Add tests for ToC generator
2022-07-01 08:55:42 +01:00
af2dba84cd
Get table of contents from body
2022-06-30 23:27:50 +01:00
8a7dba4ca0
Use bs4 to extract plain text from HTML
...
It's slower, but it keeps spaces between tags, which is what we want.
2022-06-30 21:32:47 +01:00
2b39fb1b9a
Bake pygments version into style URL
...
It's a hack, but it does work
2022-06-28 23:04:52 +01:00
b6c87d9583
Only load content styles on content pages
2022-06-28 22:19:28 +01:00
e6c8546129
Constrain images to 16:9
2022-06-28 21:59:38 +01:00
18a2f6892e
Set admin form fields on custom image model
2022-06-28 21:43:58 +01:00
f0239b40fc
Use lite-youtube-embed for YouTube embeds
2022-06-28 21:43:44 +01:00
c23c03ec33
Add custom image model
2022-06-28 18:54:11 +01:00
a1d72c122a
Add code block
2022-06-27 23:29:55 +01:00
72f9374c03
Add image figure block
2022-06-27 20:40:55 +01:00
38c4c695cf
Setup features for richtext
2022-06-27 19:58:08 +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
1a8821eaa8
Add styleguide in local dev
2022-06-26 18:37:16 +01:00
b7163c3076
Create basic streamfield
2022-06-26 18:37:04 +01:00
7676cf7166
Ensure containers don't extend beyond the viewport when holding columns
2022-06-26 17:18:40 +01:00
acfc7852b3
Disable reading time and ToC for blog list page
2022-06-26 17:00:44 +01:00
d37c0dfbfa
Fix scroll top button
2022-06-26 15:18:28 +01:00
b2df6aa7d2
Refactor content details to use tags
2022-06-26 15:13:51 +01:00
ed535626b5
Use bulma tags for tags
2022-06-26 12:55:20 +01:00
b4c5032448
Prefetch tags when listing
2022-06-26 12:55:08 +01:00
83c25328e6
Add spacing between title and subtitle in hero
2022-06-26 10:25:40 +01:00
693184f7fa
Don't assume image on listing item
2022-06-26 10:06:51 +01:00
1926c73145
Add gzip middleware
2022-06-20 09:12:47 +01:00
70c9a986b4
Add elevator.js
2022-06-20 08:46:42 +01:00
6f3c7a0162
Pull reading times and word count from Python
2022-06-19 21:16:03 +01:00
a2e44a0a2e
More content details to generic location
2022-06-19 21:06:35 +01:00
ce68aa7291
Add date to blog posts
2022-06-19 21:03:05 +01:00
29673c365f
Add tagging to blog post pages
2022-06-19 20:55:37 +01:00
6600b9ccb7
Build ToC from python
2022-06-19 20:14:22 +01:00
7b5d597d34
Create blog pages
2022-06-19 19:24:29 +01:00
9769d067bb
Add link to listing image
2022-06-19 17:28:48 +01:00
ac825524d9
Remove current page from breadcrumbs
2022-06-19 17:23:18 +01:00
1600356e8b
Re-enable darkmode on homepage
2022-06-19 17:21:02 +01:00
294d5bd656
Wire up scroll to top button
2022-06-19 17:10:35 +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
4685faa361
Ensure sticky hero is full width
2022-06-19 16:11:53 +01:00
8e1426c8ea
Move container handling to list page itself
2022-06-19 14:46:59 +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
a5abb51538
Separate hero into its own file
2022-06-17 15:58:23 +01:00
42b58eda6d
Show pages in menu by default
2022-06-17 14:03:43 +01:00
8a9772bc21
Improve styling of homepage
2022-06-15 14:23:06 +01:00
339ffde323
Allow images to be optional
2022-06-15 09:33:53 +01:00
8aea60da35
Add dynamic images to home and content pages
2022-06-15 09:27:20 +01:00
6d27add843
Use Django's method for class properties
2022-06-14 22:30:39 +01:00
d5d0b293f7
Add debug toolbar
2022-06-14 22:29:08 +01:00
d4b9638a94
Use ipsum for latest post for now
2022-06-14 22:06:00 +01:00
4b9ed0dd66
Stop top button from triggering dropdown
2022-06-14 22:04:31 +01:00
5fb0fcd629
Make navbar dynamic
...
This also adds some caching to them for performance reasons
2022-06-14 21:53:31 +01:00
8e7be79b73
Only allow 1 homepage
2022-06-14 20:57:50 +01:00
b1b6aeb818
Add basic content page
2022-06-14 20:57:43 +01:00
c9f5b6fb3a
Add livereloading of browser
2022-06-13 22:43:54 +01:00
a1aab90eb9
Add basic homepage layout
2022-06-12 21:08:11 +01:00
e2d5101a56
Add linting
2022-06-12 15:24:17 +01:00
b997350283
Disable the need for collectstatic during local dev
2022-06-12 14:52:48 +01:00
c16b81a618
Test homepage is accessible
2022-06-10 17:04:36 +01:00
d17b0af9f6
Add tests for unique body classes
2022-06-10 16:22:20 +01:00
82f3163ff5
Derive body class for pages
2022-06-10 15:54:31 +01:00
3986b30a64
Create a base page model for all other to inherit
2022-06-10 15:48:07 +01:00
67b8965e1f
Remove boilerplate
2022-06-10 15:44:43 +01:00
e96bb4c903
Remove unnecessary static path
...
This is handled by whitenoise
2022-06-10 15:39:50 +01:00
b195ae2a62
Update settings to use pathlib
2022-06-10 09:16:13 +01:00
c1fdd81f86
Setup static file pipeline
2022-06-10 09:13:00 +01:00
e0b95fd269
Add whitenoise for static files
2022-06-09 09:03:00 +01:00
531b75c128
Read configuration from environment
2022-06-09 08:51:47 +01:00
5f814b2a5a
Init wagtail project
2022-06-09 08:36:29 +01:00