About a month ago I found myself really wanting a way to update a blog by adding or modifying Markdown files in a Dropbox-synced folder. Surely, I thought, I could not be the first person to think of this — and a quick Google search proved me right! So I spent an evening browsing through that landscape.
Many of the solutions really strike me as the sort of thing I’d have made five or more years ago. While touting their core identities as Markdown+Dropbox blogging systems, they can’t help but roll in all this other stuff on top of it: they require a separate login to a custom webservice, or they support multiple users with discrete sub-blogs, or they have their own built-in web-based text editors. Inevitably all this superstructure made the systems more complicated to use than the setup I envisioned; in no case could you just declare a Dropbox subfolder as your blog source, trim it with Markdown files, and worry no further than that.
The nearest thing I found to my vision was Letterpress, which in fact hits the mark so close to my desired bullseye that I actually recommend its use over the infant Plerd in the README I wrote last night. I did download it and attempt to install it, but it proved just slightly too expensive for me. Most notably, it requires Python 3 — something its author acknowledges as an unusual but purposeful decision — and therefore safely installing it on my Python 2-using server would have either required a great deal of self-education about managing multiple Python environments on one machine, or setting up an entirely new machine just for this purpose.
At this point, fueled by all this research, the path towards what would become Plerd was already knitting itself together in my mind. I found myself powerless to refute the internal voice insisting that making my own solution, using tools more familiar to me, would surely not take much more time or expense than all this Python monkeying would. The project’s scope did seem quite well defined, moreso than at any previous time over the years I’d pondered making my own blog platform.
So, I wrote up some notes about all the things my new system would not do, and then I started to make a MySQL-based Catalyst project, much as one might get into one’s car intending to visit a friend only to absent-mindedly drive to the office before realizing it. I took a break from it for a few weeks. On my return to the project two days ago, I took a fresh look at my goals, threw all that stuff away, and wrote up two short stand-alone Perl modules and two short scripts to drive them. Up to GitHub it went, and then down again to my remote server, and by golly it did appear to work.
You are viewing the results right this moment. I’m writing this file as Markdown in an ordinary text editor (BBEdit) on my laptop, saving it in a local, nothing-special “Drafts” directory, and previewing its published appearance using Marked. After I finish my first draft, I’ll drag it into my laptop’s Dropbox, which will cause the file to update itself through Dropboxian magic on my remote server. “Plerdwatcher”, Plerd’s simple daemon process, will notice that update and republish the blog, and lo, here it is. I can proceed to tweak the post as much as I want by just editing the Dropbox-synced Markdown file directly. This is exactly what I wanted. I love this.
And that’s Plerd. I don’t think Plerd will get much more complicated than that; much of the next-steps work I wish to perform regarding this blog involves tuning its templates and making the software easier to install, none of which the software itself cares about.