This document explains why my Web pages suck. It's my HTML style guide du jour. Naturally, it's perpetually out of sync with my Web pages.
But who cares? It's the content that matters, not the form. Right?
I'm avoiding physical markup with renewed vigor. In particular, I'm trying not to play tricks to get particular browsers to render things attractively. (I use Lynx and Netscape on a daily basis myself, and I found myself adding extraneous elements here and there for their benefit.)
Unfortunately, no popular browsers allow you to customize how they render HTML, and the defaults are often not attractive.
For example, lists are not displayed (in the typesetting sense) by Lynx, while they are by Netscape. Within lists, paragraphs are not separated by blank lines in Lynx, but they are in Netscape. Neither Lynx nor Netscape separates list items by blank lines, although I would like them to when the lists contain paragraph-like elements.
I have started using style sheets a bit. They seem to be the right solution for these layout problems. (Rather, they will be, when everyone implements them, correctly. Which will probably never happen.)
I generate a TITLE tag from the first H1 or H2 tag in the body. This keeps the meta-information title (TITLE) and rendered title (H1/H2) strictly synced.
I mostly stick to old-fashioned HTML from the Mosaic era. This kind of HTML is easy to read and write by hand, and it's very widely supported.
I do use some newer tags, like BLOCKQUOTE and OL.
I automatically generate the HEAD tag and other boilerplate, so they might contain just about anything. I don't care how ugly or fancy the boilerplate HTML is, since I don't have to edit it by hand.
I've started including an automatically generated and maintained HTML 3.2 DOCTYPE in my pages. I included a DOCTYPE tag so my pages are more self-describing and easier to validate. I didn't use HTML 4.0 because it's more restrictive and so more difficult to edit by hand.
I don't capitalize HTML tags in my hand-written source code, because Emacs HTML mode doesn't fontify TITLE and H tags if I capitalize them. (Yes, I know that's a stupid reason. Actually, it's an excuse.)
Anyway, they stand out well enough without capitalization, and it's a pain to type capitalized tags.
As you can see, I do capitalize tag names when discussing them. This is because they need to stand out more when not surrounded by angle brackets. Also, character cell terminal browsers like Lynx can't render CODE tags in a different font, so uncapitalized tag names don't usually stand out at all in such browsers.
I don't include much navigation crap because
The only navigation links that I do include are automatically
generated. They
include a pointer to my home page and a mailto link for comments.
I include these as LINK elements in the HEAD and ordinary A elements in the
ADDRESS, which latter comprises a little signature at the bottom of each page.
I also include the date the page was last modified, as below.
The exact format of this information varies, of course, depending on the fashion, my mood, and the latest HTML version number.