Dynamically static
- CommentsSince [26th December 2005]({{ site.url }}/2005/12/up-and-running/), I’ve been runnning this blog with Wordpress. At the time there were little alternatives and finally I had got hold of a host (Dreamhost, at the time) that supported PHP and MySQL without being overly restrictive. 10 years later, things have somehow changed.
The issue
The main reason lies in how Wordpress has evolved over time: no, I’m not speaking about the subjective “bloat”, but the fact that it’s been moving towards a full-blown CMS, which is not what I have in mind to run my blog. Also, performance with many plugins had somehow worsened, in particular when accessing things like the administration interface. Not to mention that plugins itself are still somewhat fragile, and upgrade could still cause harm to your whole site. Lastly, the mere fact that I had to use plugins to lessen the performance impact was off-putting.
It wasn’t just Wordpress, of course. In the past years I’ve found myself unable to write long texts in a browser (and hoping that they won’t get lost in case I accidentally close a tab) and also the way I write posts changed. I much prefer a specialized editor (like this one I’m using) to compose the posts I write.
An alternative is found
So I went and loooked for alternatives around. I’ve looked at Ghost, and while it was reasonably appealing, there weren’t many themes that wanted this page to be like I wanted to (and I wasn’t convinced in handing out money for a premium theme before I was sure it did what I wanted). So I turned to static engines, and for now at least I went for Jekyll, which is what made the page as you see it today.
The learning curve wasn’t particularly steep, and with the help of some tools I was able to convert all the posts from dnenogumi.org with little effort. I also took the time to update some very outdated sections. What took most of the time in the migration was keeping links “WP-compatible”, that is preserving the structure of the page (more or less) as it was before to prevent many 404s, in particular for feeds which are aggregated on Planet KDE. With the aid of (many) plugins and a few tweaks to the nginx configuration, I can say that most of the structure should be in place.
As for the theme, I went for Feeling Responsive by Phlow, but not verbatim. I had to make changes (in short, a fork) because it was meant originally for portfolios and certain features I needed were not present by design. What I did was to clone the repo and hack in whatever I needed.
Deployment
I use my own GitLab instance to host the repository (now private, I’ll make it public the moment everything is up and running), coupled with micro Flask application that fires off the rebuilding to a script running to my server. I also wrote a couple of programs to make a new posts and commit the data (or to make new drafts).
All that glitters is not gold
A bad note is comments: I had to go for Disqus unfortunately, as even when I managed to set up Discourse, the complexity of the platform was overwhelming for me, which required only comments for a blog, and nothing else. That, and the reliance on Docker, which meant another PostgresQL server running (I have already one up which powers my GitLab instance. I’m really not happy about it. Should you know a better solution, let me know!
Should you find issues with the page, also let me know. I’ve been testing this for a while but of course I didn’t manage to find everything. In particular now the “Gallery” is gone, and I’ll still need to experiment for plugins to auto-create thumbnails and so on.
Credits
Of course this leverages on work of other people, which I feel they’d be credited:
- The aforementioned Phlow for the theme;
- Melissa Adkins for her work on banner images and typography.