This website is back from the dead. Bringing Lazarus back to life was fun. Very much like restoring an old bike. Some parts could be mended, others had to be replaced. The web is a very different place from 2010.
A fixed-size layout that worked only on desktops wouldn’t cut it anymore. So out goes the simple handcrafted css with divs and floats. In comes Bootstrap with its grid system for the flexible layout. Also comes Infinite Scroll for, well, infinite scrolling.
The blog was on Wordpress v3.0, old enough that the database schema was incompatible with current (v5.0). This was a good enough reason to chuck it out and move over to Jekyll.
PixelPost was a decent option for photoblogging at the time, but it has reached end of life. Not only is the project abandoned, the code is in PHP 4.3, which meant it was pretty much broken with the later versions. Taking cue from Jekyll on cutting off the comments and all other write paths, it was fun to write a basic photo gallery ground up. Infinite Scroll fits in nicely here. I’m especially happy about the photo rearrangement so that it renders snug and compact. Check it out. Under the hood, it is powered by Flickr’s nice set of REST APIs, and the very handy Flickraw Ruby gem. I’m glad that even though not much is going on right now for Flickr, they still have managed to keep the APIs and static links and nice set of licenses.
Handlebars does the job of the javascript templating engine, and seems to get along nicely with infinite scroll library. The comics was and is a simple php script, but now with the awesome powers of, you guessed it, infinite scrolling.
I loved the simplicity Jekyll brought to things, but I wasn’t particularly happy about the assorted box the website was turning into, with parts still sticking out in PHP (Imagine all the common html headers and footers that now needs to be pasted into PHP scripts). Well, Jekyll uses Liquid as its templating engine, and Liquid does a decent job of templating the HTML layouts for PHPs too! So end result is that Liquid does server side templating to produce PHPs which builds up the javascript that uses Handlebars for some more client side templating!
MySQL stays.
The build and deploy is automated via good ol’ bash scripts, and is packed into neat little Docker containers that are hosted on GCP. Oh that’s the other switch, from AWS to GCP. Why? just curious what is there on the other side of the fence.
Other mentions: Rogue does a cool job of syntax highlighting, but I’m yet to find my zen theme.