J / H

What's a Blog, After All?

Content management systems have always been a bit of a conundrum to me. Yes, they’re extremely efficient at enabling authors to post content. That's wonderful, because it's enabled countless less-savvy writers to put their thoughts online. For many, Wordpress and a simple template—which can be picked right from a gallery—is more than enough. But for those who enjoy more flexibility in terms of HTML markup, or CSS-based styling, they can be a nightmare. In order to do this in Wordpress, one has to dive fairly deeply into PHP, which may or may not be ideal for the given project. I know I should learn more PHP, but often, I don't have the time. I want to push content, but I want it to look my way.

I want a custom solution that isn't bootstrapped off of an existing free template, but I don't want to spend months diving into massive API documentation. I did that enough on hereishistory.com.

Thus, I've found Stacey. It's no Wordpress—let's be clear. But that's not a bad thing. In fact, it's mostly a good thing. It has some clear benefits.

1: Active maintenance.

This is pretty simple. I'm sure there's plenty of CMS platforms that are fantastic, save for the fact that they've been abandoned. For now, Stacey is moving forward. Unless the author sees the need for feature creep, I think it should stay relatively stable in the future. And if he abandons it, someone else will fork it, with any luck.

2: PHP stays out of sight.

I can understand why some would see this as a negative, and that's fine. Hiding from PHP can, at some level, decrease the amount of flexibility that I had been seeking. Learning a server-side language can't be harmful, because it would allow me to use that knowledge later. All I can do is go back to the ease-of-deployment. It's wonderful.

Part of what I like about Stacey is not just that it absorbs the complexity of code, but how. It uses some elegant variables and mix-ins (if I might take the term from Sass) to make construction much simpler, all without taking away flexibility.

3: Flexibility.

I'm sure that Wordpress has this ability, locked away somewhere in its expansive feature set. I'm sure someone has hacked at it enough to make it work. I'm talking about unique CSS conditions for every page—exactly what I'm trying to do to make this place unique. With Stacey, it was a few simple lines of code. In the "project" template, I inserted this bit of code into the header:

if !customstyle do
<link rel="stylesheet" href="!customstyle" type="text/css" media="screen">
endif

And then in the .txt file for any given project:

customstyle: !root_path/!file_path/customstyle.css

In the above example, the key identifier, which is "@," has been replaced by "!" because I couldn't figure out how to escape it, despite a few PHP hacks. That's all right.

The point is, I now have the flexibility to make each article here unique. Or not unique, if I choose so. All in about five minutes of work. That's the kind of flexibility that I was looking for in a CMS.

The Rest

The concept of style-as-you-go content isn't exactly new. Jason Santa Maria has been doing exactly this for a long time, and does a really great job of it. Others, like Dustin Curtis, create entirely new layouts for each piece, which looks beautiful, but takes a considerable investment. I think Jason's interpretation is the better choice if moving content quickly is a concern. Considering that I don't have a whole lot of time to create new layouts for each small piece of writing I feel should go on the blog, I'm going to stick with this method. With any luck, it will help me continue to push my lackluster design skills forward, without holding the content back.

From there, let's see where things go, shall we?