The nooks and cranies of how I built this here site. All about the custom plugins, templates and the lifestream generator.
I built this on top of WordPress 3.0. Lovely piece of work, by the way. I chose it for its built in functionality, in part, and in part for its hackability (is that a word?). I’m pretty familiar with PHP, so screwing around with the template files and adding custom functions is a breeze.
On top of WordPress, we have 1 custom theme, called Clarity and a child theme called… Well, it doesn’t have a cute name. Let’s just call it… Frequently Updated Content Clarity. Or just FUCC. It’s based on the [post=835 text=’skin I developed’] for my aStore.
It’s built on a 13 column grid (press G if you feel the need to see respective grid. I dare you to press G) which gives enough flexibility for the different kinds of content and column sizes. We have a larger column for the sidebar on the left and 12 equal columns for the content. That’s right, devides by 2, 3, 4 and 6. And 1 and 12, but that’s besides the point here.
For the horizontally inclined, there’s also a 24px baseline (16px/24px). For that little display, you could press… B. Did you press it? No? Then click this link. Anyway. Starting from the baseline we get the width of the vertical colum and that would be 3ems.
I must say I can’t really see the advantage of having the huge plugins repository at my disposal.
Most of the ones I tried are pretty disappointing (shady markup, inclusion of scripts upon scripts and styles upon style in the head of the page. Some of them even inline). Others are just fine, but I still had to tweak the hell out of them to get them to behave the way I need them to. And there goes the possibility of automatic updates right out the window.
And there are a few solid options which work as expected right out of the box. And when I say a few, I’m refering to the total number of plugins out there, not the ones I usually use. A lot of plugins’ functionality can be achieved by 20 lines of PHP code. No need to load a plugin.
Without further ado:
The Download & Install
- Akismet manages comments spam.
- Excerpt Editor does what WordPress should get around and implement already: excerpts for pages. There is another way to do it: use a custom field. But why the hell would I want to do that? WP should do it for me.
- Easy Post-to-post Links makes it easy to use inline links in posts without risking them all to break if you decide to change something in your permalinks.
- Google XML Sitemaps is another one that does what WP should do by default. It does exactly what is says, and more (it’s not actually just for Google).
- Post Links gives you a better interface for adding external links (it’s done by using custom fields anyway). That’s for the posts’ reference.
- qTranslate adds some multilingual functionality. It’s not bad but it’s not great either.
- Widon’t saves typographical widows from a life of solitude.
- WP-DBManager manages automatic and on demand backups which it saves on the disk.
- WP Super Cache is self explanatory.
- Yet Another Related Posts Plugin cross links posts which it thinks are related. Can’t really rate it yet because it hasn’t much to cross link.
The Download, Install & Hack
Actually, there’s only one plugin in this category. It’s the Lifestream manager. I’m not completely discontent with it. It does a very tedious job that I wasn’t gonna do. So thanks.
The most useful part of it (if you ask me) is the RSS it generates. Unfortunately, it needed a little hacking also. And, really, why would you put your name in the channel’s description? Or why would you make a feed that does not validate? It’s not rocket science. Anyway.
Another advantage is that it saves all that data locally. Which means it makes you your own repository out of scattered data it gets from around the internet. And that’s great. What’s not that great is that I had to make a custom extension — read a new stream class and label class — for every feed it follows for me. Even the ones it comes bundled with. That’s just whack.
The Roll Your Own
This was the fun part I would have rather skipped. As you’ll see, the custom plugins serve very basic needs, and except for one, should have been already in the wordpress plugin repository already. Except they’re not. Anywho.
- m~ delicious.com Recent Links gets the latest bookmarks from delicious.com. Yes, there were many. No, none of them scrathed my itch.
- [post=820 text=’m~ flickr Favorites Wall’] displays your latest favorites on a wall of your chosen size and puts the wall behind the content of your site.
- m~ flickr Feed displays your latest uploads to flickr.com, giving you the option to only retrieve photos from one photoset (like I did).
- m~ last.fm Artwork displays the album artwork for the latest tunes you listened to or just the latest loved ones.
- m~ mvs Latest Movies displays the poster art, comment and rating of the latest movies I watched (sort of) [post=92 text=’like so’]. How and where it gets the RSS is a topic for another post. I’ll just say that it’s outside of WordPress.
- m~ OpenID Delegate makes sure I can use this server as my OpenID login.
So, two themes and 16 plugins later, the whole thing works like a charm. All I have to do now is keep it updated. That’s the really tricky part.
Instead of a conclusion, I’ll just say that during the last few months I moved from Drupal to WordPress as a CMS of choice. The only problem I see for WordPress is the subpar suport for multilingual sites, in spite of the multilingual plugins available.