Neckbeard Blogging Made Easy With Python And WordPress (Part 1)

How I Blog

Continuing the theme from the last post, I thought it might be fun to describe the actual nuts and bolts of my blogging process, because APIs are everywhere in this process.

To begin, let me take a quick step back. After leaving my last job, I thought it would be good to remediate myself in Python by converting this site to Pelican or perhaps Tinkerer (based on the Sphinx platform). Static site-generator blogging is all the rage amongst the coder literati these days (because it means you’re no slave to any UI). So, I’d be boosting my street cred and refiring the Python furnace in my head at the same time.

But after a month of research and experimentation, I have to reluctantly concede something. Coders are not communicators. They don’t understand that content is valuable only if someone besides themselves is willing to read it. What I mean by this is that, sadly, all of the pure Python blogging platforms are at best primitive and unpleasant half-hearted attempts, when compared to WordPress. They’re primitive, buggy, often lack essential features like analytics and social media plugins, and are unpleasant to write with, and especially to read. One called Mezzanine tries its very best to seem just like WordPress, but still has a long way to go, as a viable product.

I know. Blasphemy. Get out the rack. I’m ready to repent for my sins.

Also, I have to confess, after an acquaintance told me he did not know who I was "pitching" with this blog, I replied with a half-truth. I told him I didn’t "pitch." Well, actually, I do. We all do, really. At some level. Even if it is just to ourselves. And, truth be told, I actually do want people to enjoy reading this blog, and I want to know that they are.

And that’s why I’m sticking with WordPress. One author I stumbled across in my explorations almost perfectly expressed my reasoning, while lamenting his own struggle to assemble a decent Python blog for himself (ironically, complaining about WordPress): I want to write, not run blogging software. And, that’s just what WordPress is facilitating for me. So why should I switch?

Well, there were a few really nifty ideas I discovered on my adventure into neckbeard blogging, many of which I was salivating at being able to do with my WordPress blog viagra englisch. For example:

  1. Write using a plain-text editor like VI, employing either MarkDown or reStructuredText. This would enable me to write using my journaling application, MacDown, or just plain old Vim in Terminal.
  2. Keep my blogging entries in a source code repository, like GitHub. This would allow me to write from anywhere, at any time, and would give me a kind of development workflow, with "source code" that I could "build" and rollback, if I felt like it — independent of the WordPress application code.
  3. Use my repository as an ersatz backup. Saving me from having to deal with MySql, WordPress plugins, and chron.
  4. Give me the freedom to script the workflow in Python. Which would help improve my python skills.

Turns out, all of this is possible using WordPress, pretty much out of the box, with a few minor enhancements.

If you’re really into the tech stuff, consider this your teaser. Over the next few posts, I’ll cover each technichal component of my blogging process, including the WordPress plugins I’m using to enable code syntax highlighting and Github integraton, what editors I write my posts with and why (including a rant about the differences between MarkDown and reStructuredText), and how it’s all strapped together into Github.

Naturally, along the way I’ll compare this setup to what I had working in Tinkerer and Pelican, and point out the advantages and disadvantages of each system. Turns out there may be some use for Pelican after all. Stay tuned.

Leave a Reply