Simple means that you know how it works.


This is the project website for Ode (pronounced oh-dee), a personal publishing engine for the web. Ode is unique in that it is designed to be simple – not necessarily easy.

Simple means understandable (at least it does here).

  • Thu
  • |
  • 29
  • Oct
  • 2015

New forum discussion topic : The $ in posts usually disappears in Ode posts

Just a quick post calling attention to a new discussion topic on the community forum, "The $ in posts usually disappears in Ode posts".

The topic was start by passthejoe. Thanks!

You can find his original post about this issue on his own blog at

Rather than repeat the same information here, I'll direct you to the forum topic, and leave it at that.

  • Tue
  • |
  • 27
  • Oct
  • 2015

An intro to the basics (foundation) of HTML for Ode themes - Part 3

Let's finish up. We've already done most of the work, so this should be quick and painless.

Here's what we have so far...

<!doctype html>
<html lang='en'>
        <meta charset="utf-8">
        <title>Example title</title>

As we've already discussed, this is a perfectly valid HTML5 document as-is. But you don't have to take my word for it, copy and paste it into the HTML5 validator and see for yourself.

Of course we'll want to add some content – though that is largely outside of the scope of this intro. And because the goal is to create the most minimal possible Ode theme, we will need to add some Ode specific variables. After all, it's not an Ode template if there is nothing Ode about it.

But before we get to that we'll add just a few other typical pieces.

  1. link element for an external stylesheet (css file)
  2. script element
Read the rest of this post
  • Thu
  • |
  • 22
  • Oct
  • 2015

'Proposed Changes' category on the Community Forum

There are literally years worth of not yet implemented thinking about this project. I've wanted to create a place to put those ideas to

  1. Gather them together in one place
  2. Open them up for discussion

So yesterday I created a 'Proposed Changes' category on the community forum at

From the category description:

Long since overdue, we need a place to put proposed changes including but limited to...

  • Changes to ode itself
  • New addins
  • Suggestions for themes
  • Integration with 3rd party services and other tools
  • Anything else you can think of

I'm leaving this category open. Feel free to suggest your own changes. We'll see how that goes. This forum is low-volume enough that I can't imagine there will be problems we can't deal with (overlapping threads and that sort of thing.)

Mostly I want a place to put the things I want to work on so the information isn't scattered, and to share those ideas with the community.

So if you're interested have a look. There's already a topic there. (If I keep up with it, there will be LOTS more.)

Oh yeah, Ode has emoji too (because of course it does) 😀👍

I had intended to continue, and maybe finish, my 'Intro to the Basics of HTML for Ode Themes' series today. That didn't happen. But it gives me the opportunity to quickly not so quickly post about something that fits nicely right here after character sets and encodings that was part of the post about the lang attribute and the html element.

Emoji 🌲🚲🍗🏃

Of course Ode supports emoji, because the web supports emoji, and Ode is part of the web. Emoji are Unicode and our pages here are all utf-8 encoded Unicode, as we've discussed. That works out nicely, doesn't it? But as you might suspect from the reading about the lang attribute, character set and encoding is not the whole picture (no pun intended). Can you guess might be missing? More on this in a little bit. Before we get to that let's cover some background information and a few resources…

Read the rest of this post
  • Mon
  • |
  • 19
  • Oct
  • 2015

You may have noticed (discourse forums integration)

Instructions for how to do this will require a proper post of its own. But I wanted to quickly (un)officially mention that I'm playing around with integrating the Discourse forum and this site. Some of you may be aware that we started using Discourse for the community forums on this site. That happened long enough ago that it's probably more accurate to stop saying 'started using' at this point.

Shameless plug: I encourage anyone with even a passing interest in this project or looking for a community to discuss topics related to open web development and web design to create an account on the forum.

So the forum has been up and running. But I've always thought that it was a great idea to supplement or replace comments with a discussion forum. As I see it, one of the real strengths of the web is that it is a read/write space. There aren't just writers and readers, but the possibility for combination of reading and writing. I write a post that you read, and that sparks something you want to say, related to the post or just inspired by it, which may be a short blurb or longer than the original piece. I then get to read that, as does everyone else, and the process continues until it has run it's course. Comments don't give that kind of interaction the attention it deserves. Also, it can be technically tough to pull off.

Read the rest of this post
  • Sun
  • |
  • 18
  • Oct
  • 2015

An intro to the basics (foundation) of HTML for Ode themes - The lang attribute

Is it better to be more specific or shorter?

In part 1 of this multipart series of posts about the basics of HTML I discussed use of the lang attribute with the html element

Referencing the appropriate documentation, I mentioned, "Authors are encouraged to specify a lang attribute on the root html element, giving the document's language." I wrote that the value of the lang attribute must be one of the list of standardized language tags, and said that the value for English is 'en'. Including this attribute and value with the html element in our basic HTML template gave us:

<html lang='en'>

But this is only part of the story.

Read the rest of this post
  • Sat
  • |
  • 17
  • Oct
  • 2015

An intro to the basics (foundation) of HTML for Ode themes - Part 2

What is a character set (charset) AND what is a character encoding?

This is the second part of a multipart post.

The first part is an intro to the basics (foundation) of HTML for Ode themes - Part 1.

Note: One of the more readable explanations I've found is from the W3C's document "Character encodings: Essential concepts". Much of the discussion that follows pulls from that document.

Another often referenced resource as a primer on character sets and encodings is Joel Spolsky's article "The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)"

The first thing to know is that 'character sets' and 'character encodings' are not the same thing. The relationship is a little easier to understand if we call the latter 'character set encodings'.

I'll say right from the start that the character set we'll be dealing with is Unicode and the character encoding is UTF-8. It turns out these are all we ever need to concern ourselves with (other than the general concepts). But it's important to be aware that there are other character sets and character encodings.

Here we go with part 2...

Read the rest of this post
  • Fri
  • |
  • 16
  • Oct
  • 2015

An intro to the basics (foundation) of HTML for Ode themes - Part 1

I'm going to start from the absolute beginning and put together literally the most basic possible Ode theme. The purpose of this is twofold (or even morefold).

  • First, I want to put together solid documentation about Ode themes.

    I'm a firm believer in starting at the start.

  • Secondly, I want to create a resource for people who are looking for reliable information about HTML and CSS.

    There is no shortage of information online, in books, etc. but I'm surprised at the lack of straightforward, fact based information firmly rooted in the specs themselves. Also as if often the case, the basic foundational information is often glossed over or skipped altogether.

  • Thirdly, I want to demonstrate just how little extra stuff Ode introduces.

    We really are dealing with plain old standards based HTML, CSS, JS, and whatever else you want to throw in. I consider Ode to be a dynamic extension of the static web. The goal is to add as little overhead as possible, while greatly expanding on what we can do beyond a simple static site. There is maybe no better demonstration of this philosophy than themes.

This is the first of what will be a multipart post.

Disclaimer: This is not intended to be a stand alone, comprehensive description of HTML. For example, I start by discussing the doctype, but don't define what the doctype is. That kind of information is readily, and reliably available online. I'm happy to answer any questions you may have in the community forum. But I have to draw a line somewhere for the post. (As much as I would like to, I can't write a book as a weblog post.)

Let's get started...

Read the rest of this post
  • Mon
  • |
  • 05
  • Oct
  • 2015

There's overdue and then there's...

To say that an update about the status of this project is overdue is a gross understatement. I sincerely apologize for that. To anyone who has stuck with this project throughout, you have my thanks. To anyone who might be coming along for the first time now, or circling back around, I want to assure you that there is life in this project. In fact I believe it has a bright future. I want nothing more than to see that future come about, and I'm ready and willing to put in the work. Not only that, but I have some good ideas that are also clearly doable. If there is any benefit in the amount of time that's past here – and I'm certainly not trying to spin what is an overwhelming bad thing – it's that it's given me plenty of time to think about the future of the project. Just as importantly, technology has evolved, and we're now in a position to put those changes positive changes to good use.

The web could have gone in one of two directions in the past couple of years. It could have run away from Ode, making this project all but irrelevant. It could have done that, but it didn't. Instead, to my way of thinking, the environment has only improved for a project like this. Without getting too much into what I'm thinking about the future of Ode, in this one post, which I'm hoping to keep relatively short, I do want to give you some idea of what I'm thinking...

Read the rest of this post
  • Mon
  • |
  • 04
  • Aug
  • 2014

What's the status of this project?

It is of course a perfectly valid question. This blog hasn't been updated in nearly a year. The post before the last was an end of the year state-of-the-project post... from December 2012. More critically the project itself seemingly hasn't been updated since 2010. That's hard for me to believe, but there's no denying it. (Wow, where does the time go?) As I said, a perfectly valid question.

I have been told that it looks dead, and that looking dead discourages new people from taking more than a passing glance at Ode.

Of course, that too makes perfect sense. I certainly wouldn't argue. In fact I have a hard time believing I would seriously consider giving it a try. I'm as 'guilty' as anyone of comparing project against project when I'm looking for software, and must admit that I typically consider frequency of updates and recency of the last update to be key factors. That's especially true of something like a weblog platform, which I would expect I might want the option of using for years to come (and that I would anticipate needing to spend a considerable amount of my own time on).

Read the rest of this post