Migrating to Django
I migrated the blog from a static page rendered by Jekyll to a more heavy-handed, custom-built blogging engine using Django.
While I’m a proponent of statically rendered websites for their speed and security, maintaining a blog that is updated several times a day is arduous. Yes, there are ways to simplify publishing through custom scripts or content-management systems bolted on top of the Git workflow. But creating posts with custom scripts still requires committing and pushing every time. I tried NetlifyCMS for a while, but it’s a bug-ridden application that introduces strange hidden characters into posts, and editing content is a drag because the cursor has developed a life on its own.
These issues can be fixed, but my goals with this website are bigger than frequent updates.
I want this site to be part of the IndieWeb, a community of independent content publishers. I want to accept and send Webmentions, post from external editors via Mircopub, and integrate my reading and writing workflow that allows me to create posts from a custom feed reader. Achieving these goals is nearly impossible when you manage a site using a static page generator unless you want to rely on more third-party tools.
I want to control every aspect of this website. If it hums along, I did a good job; if it’s broken, I broke it. It’s a place for experimentation with new technology, to learn how to build a web of independent websites and understand the technology that drives it.
All this is much more work than running a simple static website and occasionally typing words into a markdown file. But it will be worth it for the sake of creation. This blog is a garden that I want to nurture and maintain. I want a place for my own to built and design software in a way that isn’t prescribed by client requirements or constrained by the design decisions of a blogging software somebody else built.
Or I might just need therapy.