A note about Bloo 0.16 – Cascading Themes

If you don’t have an inner-geek you can skip this post.

I’ve been working on Themes in this release. Got a decent amount of work done this weekend, although I’m still fretting through the best way to organize the code.

Bloo 0.16 (hopefully to come out in the next week) will include Cascaded Themes. A “theme” controlls the look and feel of a user interface – they are also referred to more generically as “skins”. Often times on blogs or other sites the skins are controlled simply by changing out the CSS. A good example of this are the skins on Thinklings. While this is easy to do, it is limiting.

Themes are a somewhat WordPressy concept and are more full-featured than just finagling with the CSS. Themes can alter every aspect of a page if they so desire. WordPress accomplishes this by allowing you to place your page templates in a theme directory and select the theme. There are a specified number of templates you can place there, and they have to be named a certain way.

The Cascading Themes coming in Bloo 0.16 take this a bit further. No longer are you limited in what you can control – a Theme can include not just templates but new SnapOns (what’s a SnapOn? Um, I’m working on the docs for that – so I’ll ‘splain later 🙂 and you can have as many package files as you want to control as many aspects of the blog’s look and feel as desired. And – here’s the cool part – a theme can “cascade” from another theme. In other words, say that you have a certain number of elements that every theme for your blog will include (such as the blogroll, About message, etc). You can place these elements in a base theme and then cascade the other themes off of that, as many levels as you want.

I’ve got this working in my development blog – it was actually not much work because of how Phoo and Bloo are already structured. I’ve been very pleased, if I do say so meself, with the way the structure of this software lends itself to enhancement.

I have a few more details to work out, such as whether or not to cascade the CSS specs – in other words, whether to combine the CSS for the base theme with the CSS for the cascaded theme. I’m thinking through that issue now and leaning “yes”

But bottom line, I’m doing a major engineer’s victory dance at the stokedness of this all. It will make more sense when I release it with the look you’re seeing now (this theme is called “Blue”) along with the older “Classic” theme and a new theme I’ve designed called “Bloo’s Riff”. I’ll also include the ThemeSelector SnapOn so that you can choose the look that best fits your mood when looking at Out of the Bloo.

And if I do this right I’ll actually, for the first time, publish the spec for how to create a theme and open it up for any of you who have an artistic bent and want to submit a new theme for the blog. That will be very cool if I get any takers on that.

Hopefully 0.16 comes out in a week or so. Watch me for the changes . . .

3 thoughts on “A note about Bloo 0.16 – Cascading Themes

  1. Heh – “close” is kind of a relative term. I hope to – the first thing I’m going to do, though, is document how the themes are structured and get some input from people. When I’m ready to release it I’ll get some people who have webspace already to alpha test it for me.

    It does take awhile, and I’m being careful (and working on it only in snatches each day – as I have a day job). But it will happen eventually. Keep hope alive! 🙂

    Thanks for your interest AJ

  2. well. as soon as bloo is out there. forggettabout live journal. lj SMELL JAY. i was just wondering if you still have alot of plans. like a huge list of stuff youd like to do. or you are just fixing minor details.. because fixing minor stuff makes it seem closer.

    maybe you can get it big and take over lj. and just live off ofyour coding wisdom like brad(the lj creator) does. im sure that would be enjoyable

    i would help test it!

    i stay up to late and sleep too little

Leave a Reply

Your email address will not be published. Required fields are marked *