There’s a lot of stuff I want to write and publish on the web, including some that I’ve already published by hand on this site and elsewhere, but typing in raw HTML is very sub-optimal. I want a quick and easy content management system to do the low-level stuff for me, and, ideally, I’d convert my entire site to run on it. But which? I’ve ran little test setups for WordPress, Drupal, and textpattern, and none really do what I want. So what do I want, exactly? Hmmm… I’m not even that sure. The ideal system would have some of the features of a blog, some of the features of a wiki, and some of the features of just a generic hand-programmed website:
- I don’t want this to be a “blog”. I want it to be a… “collection of pages or articles”. With headings and such. The chronological order in which I wrote them is not important, but their subject is, so I’d want things organized by categories or tags instead of by date. Most of the blog/CMS systems have some type of tagging feature like this, but I don’t know if the main organization of pages can be based around it. Usually it’s incidental, for finding posts related to the one you are reading, but everything is presented chronologically with the latest posts first.
- When I edit an article (even before publishing it; during the writing process), I want each revision saved separately, like a wiki, CVS or versioning file system. After publishing, the log of my revisions/edit history should be viewable by visitors so they know when something has changed and how up-to-date the page is.
- I want users to be able to comment on an article in a publicly-viewable way, like a blog. Maybe even comment on each other’s comments in a threaded fashion? Of course, if I can edit articles and create new revisions, how would outdated comments about older revisions of the text be handled? I guess in blogs the post editor just notates this by responding with “Thanks, I edited the blog as per your suggestion”.
- A rich text editor would be nice, simply because typing HTML tags is a pain. Wiki markup or textile is not horrible, but I’d rather just type and use shortcut keys for formatting. The formatting should be restricted to basic, bare, semantic, and correct HTML tags like
<h1>
, <p>
, <em>
, and <code>
, and not things like <i>
, <br/>
, and <font size=...>
. I’ll handle the formatting with site-wide CSS and classes, thanks.
- But I should to be able to switch (quickly) back and forth with a raw HTML display and edit the (automatically well-formatted, syntax highlighted) source code, too, if I need to, and my HTML changes won’t be overwritten by the rich text editor.
- Should allow me to insert arbitrary code when desired, like JavaScript, when needed.
- The rich text editors where you can paste HTML from other pages/sites would be nice, but strip out bad markup like setting CSS styles explicitly? I dunno.
- Images. I want to be able to include images in my posts without any hassle. Maybe inline, maybe floating alongside. With captions. Automatically generated thumbnails that link to full-resolution images. I want to upload the pictures as I’m typing, and have them organized on my server in a way that makes sense. I shouldn’t have to refer to them by meaningless numbers or img tags with cryptic URLs.
- When editing with Google Docs, I have been using the title tag of a link to hold a summary of the page’s content. It would be awesome if, while editing, I could enter a URL and the title tag and beginning text of the linked page was suggested automatically.
- I like the idea of semantic HTML, and it would be awesome if certain types were added (semi-)automatically, like abbrev tags, OpenURL/COinS, …
- If I’m quoting, it would be nice if it automatically added blockquotes, attributions with links, URN citations, etc.
Anyway, that gives an idea of the general idea of what I’m looking for. I am trying a combination of Google Docs and WordPress for now. This probably isn’t the best system, but it’s the best I’ve found.
(Google Docs isn’t grouping my text in paragraphs when I create a double newline, for instance, but putting two <br/>s
instead. And, instead of setting off text with <code>
tags, you have to change the font to Courier New, which implies to me that my basic paragraphs have an explicitly-defined font, too? And (oh geez), it’s adding <span style="FONT-STYLE:italic">
where I really just want <em>
. It’s meant to be more like Microsoft Word than a web page editor, I guess. I’ll probably edit the HTML to fix these things after importing to WordPress. But that’s so much manual tweaking work for a trivial (but Proper) change! Completely negating the whole point of using these tools in the first place. I’d rather the tools just do that stuff for me.)
Anyway, yeah. These are the things I want, and navigating the huge list of content management systems and their even huger lists of plugins is mind-boggling. So I’m just going to go with this for now so that I can start publishing. Recommendations would be greatly appreciated.