pelican

The Modern Complexity of the Simple Blog

While researching a new platform for Macdrifter.com I learned just how complicated simplicity has become. I wanted to avoid Medium or Substack which meant I needed to accept my role in managing the publishing platform. I wasn’t prepared for how complex plain-text blogging has become.1 One popular trend is to implement a what I would consider a software development pipeline and not a blogging system. I love technology as much as the next nerd, but I do not understand this trend of increasing the dependencies and technical infrastructure for turning Markdown into HTML.

The Road to Pelican 3.2

Over the weekend, I updated my Pelican installation from v2.8 to v3.2. I tested the new version for a couple of days and was anxious to get on the new hotness. Previously, I tried to go to Pelican 3.0 but site regeneration was painfully slow for me. Version 3.2 handled my 1800 posts like a champ. I thought I’d share some tips and describe (again) how I’m using Pelican to run this site.

Blogging Platforms on the Generational Podcast Link

On the last episode of the Generational podcast, we covered more than any sane person would want to know about blogging platforms. Bob VanderClay from High90 was our guest and technical expert. Blogging is alive and well. There’s some really cool stuff happening in this area and we’ve reached a point where you can easily deploy, own and administer gorgeous blogs. Check out the show notes for a mind-boggling list of links.

Pelican 3.2 Update

Pelican 3.2 is out this week and it’s another big update. The plugins have been isolated from the main code so that they can be updated separately. That’s nice. But for me (with ~1800 posts) the biggest improvement is rendering speed. This site now takes about 32 seconds to regenerate every single file. I also added a new feature for Markdown dorks like me. Click the little [mmd] next to the date on any post.

Things I've Learned About Properly Formatted Blog Posts

Since moving this site to a static blog, I’ve developed a better perspective on meta data. When I was on WordPress, I assumed the platform would handle all of my meta data. Occasionally I added a custom field but for the most part, I was ignorant of my future needs and what WordPress would handle for me. Working in a static blog like Pelican has made me much more aware of how I draft a post and what meta data I include.

Feed Ho

My Internet pal Seth Brown notified me that my atom feed was dead. Dead for a really long time. When I migrated to Pelican, I created a 301 redirect for all of my feeds. Or at least I thought I did. Here’s the lines from my .htaccess that I thought worked. :::text Redirect 301 /feed/ /feeds/all.atom.xml Redirect 301 /feed/atom/ /feeds/all.atom.xml But that was not working for the atom feed. I’m not sure why I thought an explicit redirect was the right way to go.

Self Hosted Search

I made a big deal out of switching to DuckDuckGo for the site search here at Macdrifter. I was very happy with the results on the WordPress version of the site. However, when I switched to Pelican, DDG presented both the old cached links and the new links. I was generating a new site map a couple times a day, but, unlike Google, DDG can not be pinged with the new site map.

Working Remotely with Sublime Text and BBEdit FTP Access

FTP Access While this post was inspired by my move to a static blog system, I regularly need to interact with text files on remote servers over FTP.1 I have used Notepad++ on Windows for years and I’ve never been thrilled with the FTP plugin. Dropbox is an amazing technology, but an FTP client is still a critical tool that I suspect will be needed for many more decades. A good FTP based text editor is essential.

Problems with Pelican 3

I tried upgrading Pelican from 2.8 to 3.0 this weekend. Unfortunately 3.0 is a downgrade for me. 3.0 promises some nice features like Typogrify but I immediately had problems with meta data. I previously used a Markdown meta data field named “url” for creating linked list posts. In Pelican 2.8 that field was just ignored because it conflicts with the Pelican meta data for a post. In Pelican 3, it throws an exception and halts the script.