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
  • |
  • 26
  • Nov
  • 2015

New in the Community Forum: I've been using EditEdit a LOT

Another topic started by passthejoe.

My Ode site is about 75 percent social-media-style updates…

Read more

Ode + Raspberry Pi + Docker

Do you see what we're going for here?

This post was inspired by the announcement of the Raspberry Pi Zero, a $5.00 computer capable of running Ode locally along with all of the tools you'd need to fully create and maintain an Ode site from developing addins and creating themes to writing posts and syncing your site with a public server to publish it online.

Because everything in Ode is plain text, and text editors are some of the most sophisticated, flexible, efficient software tools we have, it all comes together beautifully to create a powerful environment – as elegant as it is simple.

We, you and me, are alive at a time when we can make a difference in the lives of others through technology.

Ode isn't the only way to do that, but it is certainly a way to do that. The centralized social media services that seem to dominate the online world today are just a poor fit for a majority of the world's people who might want to learn more about, and do more with technology in order to connect and share with others, to improve their own lives, and the lives of the people who are important to them.

Read the rest of this post
  • 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