This revision of my site is pretty complex. I wanted to meld all my previous sites into one big conglomeration site, so picking WordPress was a default choice for me for a few reasons. Two very important reasons: Themes and Plugins. This post is going to focus on the Plugins I use.
I made a few plugins for WordPress1.2, but 1.5 blew me away. The number of hooks, the functionality you could tap into without modifying the core of WP, is amazing. The plugin architecture for WP has let me do a lot of things that keep this site running.
There are several plugins I use to put this site together including:
- CSS Compress -- The blog is compressed, why shouldn't the CSS be too?
- Favatars -- A simple way to personalize comments for your visitors.
- Live Comment Preview -- Who can say no to seeing yourself type in two places at once!
All great plugins I made that you just upload and activate. Real simple, big payoff. However, the two important plugins which I really want to talk about are Post Templates and Text Control.
h4. Post Templates
Post Templates is a plugin I made just for this site. WordPress has this really nice ability to create custom template files for Pages, but there are no templating options for Posts. Seeing as I wanted my portfolio, blog, gallery, links, and most other things on this site to be posts I needed a way to a show different "single.php" templates for each kind of post. Thus "Post Templates" came into being.
Post Templates allows you to create php files that look a little like
<?php /* Post Template: Play */?> <?php get_header(); ?> regular single.php stuff...
And when you publish a post you may choose which template the post will take on when being displayed as a single post. So, if I have "gallery.php", "blog.php", and "link.php" my gallery posts will look different from my blog, from my links, and so on.
However, I wasn't satisfied -- setting the post template for every article is tedious. So I extended the plugin to allow you to set a default post template for entire categories. This way you can default any post in the "Gallery" category to take on "gallery.php" when displayed alone. Extremely useful for making the site look different category to category without having to hack the hell out of your "single.php" file.
If you are interested in trying Post Templates, you are welcome to do so but there is no documentation for the plugin yet. Here you'll find the source code to Post Templates.
I've been fascinated by text formatting and the multitude of options you have when writing on the web: Textile (1 and 2), Markdown, HTML or just plain text. I like playing with each, writing in a different one here and there. So when I discovered that WordPress supported (almost) all of them, I was really happy. Until I found out that it only supports one at a time, that is.
The problem is that the default WordPress Textile/Markdown plugins assume complete control over the blog. You are either Textile, Markdown, or neither for everything: posts, pages, comments -- everything.
Text Control allows you to take control of how you format your blog. You can set defaults for the blog to wpautop (the basic wordpress plain text formatter), turn all formatting off, use Textile1, Textile2, or Markdown. You can also set a default for comments separate from the blog default. After you've set the defaults, you can change the formatting option on a post-to-post basis. You are in control!
Not stopping there, I added the ability to change the way character encoding is done. You can pick from no encoding, wptexturize (the default), or SmartyPants.
If you'd like to check it out, Text Control is fully documented and ready to go.
Next up: Themes...