Site update Jan. 10, 2025, 6:06 p.m.
After nearly a decade I've finally modified my site and started maintaining a personal blog once more. Here's how I'm doing it with Django and Github Pages.
It's been about a decade since I completely changed my personal blog, but today is the day I finally add a new design and more importantly a blog.
In order to accomplish this I decided to use Django. I've been a long time fan of the framework, however I don't want to pay for hosting. I want to use free static hosting on Github pages, but Django is a dynamic framework (meaning that the pages generate in real-time as they are visited).
Enter Django Distill, a static site generator add on. Django Distill is extremely easy to use. Simply install it, add it to your INSTALLED_APPS, use distill_path rather than path to define your URLS and then run
python manage.py distill-local /path/
This will generate all of the files defined in your urls.py file as static HTML pages which can then be uploaded to github pages. Of course, running a static blog means that I will not be able to allow voting or comments on the posts I write, but I'm OK with this as I now have a cost-free (and worry-free) blog with all most of the benefits of Django.