Title photo
Ode is simple! (Simple means that you know how it works.)

Site Message

Hi and welcome to Ode (pronounced oh-dee). Glad you stopped by.

Important: Ode is very new.

In the coming weeks I intend to post a lot of information to this site, and of course the complete project (including a set of sample themes and documentation) will be available for you to download.

Please do check back or subscribe to this site's feed if you're interested.

-Rob

Posts

Subscribe (this category):  Subscribe to RSS2.0 Feed button

Thu, 15 Jan 2009

Simple themes

Themes allow for customization of an Ode site.

The most remarkable thing about Ode's themes is that they're almost completely unremarkable. Themes are pure HTML and CSS. The entire page layout is described by a single file that looks like any other (X)HTML file to your text editor or web design and development app.

There is no need for you to change how you work with HTML/CSS for Ode. Repurposing your existing themes for use with Ode or reworking your Ode themes to work with any other package with a reasonable templating scheme should be relatively straightforward.

Here is the complete structure for the default theme at ode-is-simple.com

theme/ content_type.html date.html page.html logic.css

images/
    cod_header.png
    ode_tag.png
    ode_title.png
    xml_badge_bw_sml.png

Of these files, page.html and logic.css are almost entirely responsible for the look and layout of the site.

What's more, page.html starts with a doctype declaration

and ends with the closing html tag

Everything you know about HTML and CSS applies. There is nothing new to learn... no need to hop around among dozens of files inserting bits of HTML here and there being careful not to disturb sections of PHP and Javascript. Not only is this beneficial for users new to HTML and CSS, but experienced designers and developers can quickly implement an Ode theme, work out the kinks and then repurpose it for any other platform without rolling back the Ode specific elements (there aren't any).

Again simple doesn't mean limited. You can have any number of themes with Ode and switch among them at will. For example, you can display any page using any installed theme without changing the configuration of your site. Furthermore, you can apply a different default theme for any category. Themes associated with a category carry through to all subcategories but can be easily overridden.

So for example, you can establish a default theme for the entire site simply by associating one with the root category. If we want a consistent look for the entire site then that's all there is to it. However, if the 'Technology' and 'Music' categories should have different themes we can easily override the default for those two without affecting the rest of the site.

How does this work?

Each category can contain a 'Themes' directory. Each 'Themes' directory can contain any number of individual themes, each of which is contained in its own folder along with all of the associated files.

When a visitor requests an address, that request specifies one of either:

the root of the weblog (ode-is-simple.com/weblog/),

some subcategory (ode-is-simple.com/weblog/meta/),

or an individual post (ode-is-simple.com/weblog/meta/hello_world).

Ode determines which theme to use by starting at the most specific path to the request and working back toward the root. As soon as it finds a theme that matches the request (or a default if no specific theme was specified), it stops looking.

Themes are flexible enough that we can create any look we might want.

Bundled with Ode you will find one, two, and three column themes as well as several specialty themes including:

print theme text page theme (suitable for longer posts) RSS 2.0 theme presentation theme (compliant with the S5 standard)

All of these themes are standards compliant (XHTML 1.0 Strict).

What's more, care has been taken to insure that the themes are logically organized and as simple as possible. Working from these you should be able to create a site of your own design with a minimum amount of fuss.

Next (Simple Enhancements)