I thought my needs were simple. When I started LinuxLaboratory.org, it was full of features. User forums, news categories, icons and emoticons everywhere, downloads, interviews… it was really all-singing and all-dancing. It was also too much for one guy to manage.
I decided to trim the fat and get back to basics. LinuxLaboratory.org started as a place for me to keep notes for myself. Others found the notes useful, and I was asked to write an article or two for other sites. Then I started writing my notes in the form of articles. Then I started writing LOTS of articles all the time. I also wrote some code, and saw no reason to keep it to myself. So, what I need is a place to keep articles, and a place to keep downloads that others can get to.
My requirements? Well, I need a CMS that allows me to create navigation that is very article-centric. I want users who come to the site to see the categories of articles so they can find what they want quickly. I want users to click on an article category and see the article titles available in that section. I also want a link on the front page to a download section where people can then see a list of available downloads.
I don’t want much more than that. I don’t want to learn about inane taxonomies, I don’t want things listed chronologically, I don’t want a framework that allows a million people to contribute. I don’t want a wiki, I don’t want a blog, I don’t want a news portal.
What I want, I think, is to be able to structure content more or less like a book is laid out… online. A single-user site with content broken down by chapter and subchapter. When the content contains code, I’d like to make it available, either inline or via a download. As far as I can tell, this does not exist. Let me explain:
I’ve tried PHPX, drupal, dokuwiki, mediawiki, and wordpress, all within the last year or so. Looking back over 5 years, I’ve tried just about everything else as well. XOOPS, PHP-Nuke, Postnuke, Mambo, and the list goes on.
PHPX was just plain flaky, but was damn near perfect in terms of what I wanted to do with my content. The numerous bugs made me leave it.
Drupal is really nice too, and I’m still testing it, but the article formatting isn’t wonderful, and I’ve found that if I insert PHP code inline, if I use a ‘pre’ tag to insert it, the PHP gets parsed. If I use the ‘code’ tag to insert it, I lose any notion of indentation. This is no good, but I’m still searching for a solution because otherwise drupal seems kinda nice so far.
Dokuwiki is nice, too. I really like that you can have syntax highlighted code inline in your articles. I *don’t* like that you have to pick a string representation of your article that is not the title of the article. So, in other words, instead of seeing Linux->Scripting->More Power With Bash Getopts, I’m forced to live with Linux->Scripting->bash_getopts. It also wasn’t obvious to me how you’d link to a download without using an absolute “External” link, which, in the context of something that already does so much, seems like a hack.
Mediawiki is what LLO currently runs on, and I’ve learned over the past year that doing downloads and structuring things the way I want them in mediawiki also involves hacks.
WordPress is nice, but again, no obvious way to do downloads cleanly, and chronology in my content is really pretty irrellevant. I’m happy to date my articles, but the articles I’m posting relate to eachother in ways that have nothing to do with their creation date. PHP and Shell articles written two years apart should still appear next to eachother in the “scripting” section.
In the end, my recommendation to others is this: if you’re not hosting a blog, don’t use blog software. Not hosting a wiki? Don’t use wiki software. Not hosting a news portal? Don’t use news portal software.
Also, before I get flamed, note that I’m aware that I can probably load my site down with plugins to accomplish what I want. However, I’ve been doing this for a while, and I know that, while using a plugin will work for a while, there is also often a lag between the release of a new version of the base software and the release of the plugin for the new version of the base software.
If anyone has a clue about what I might use to accomplish my goal of basically providing categorized articles online with as little bloat as possible, let me know.