For a number of reasons I prefer a plain text editor (see http://www.cs.su.oz.au/~gary/wily/). It's a pain to read text with HTML markup strewn through it, so I have a very simple plain text markup, which gets converted into HTML.
Treats a text file as a collection of paragraphs. Each line is a new paragraph, except that paragraphs which start with '[' continue until a line which ends with ']', and lines which end with '\' continue onto the next line
Blank paragraphs, or paragraphs beginning with '#' are ignored.
Paragraphs beginning with '|' are treated as example text.
Paragraphs beginning with '=' are treated as already formatted HTML, and are passed through verbatim.
The first paragraph is rendered as a <H2>, and is used for the <TITLE> of the document. Other paragraphs with no indentation are rendered as <H3>s. Any indented paragraphs are rendered as unordered lists.
Characters
You can do bold, italic and constant-width text, as follows:
You can do *bold*, _italic_ and $constant-width$ text
Links
Outline automatically turns some words into hypertext links.
Any word starting with http:, ftp:, or mailto: is turned into the appropriate link.
Any word which is also the name of a file is turned into a link.
Extensions
When searching for local files, outline first tries searching for the base word with .html, .gif or .jpg as an extension, so if you write see appendix and the file appendix.html exists, the word appendix will be linked to appendix.html
References to image files (files ending with .gif or .jpg) are replaced with inline images, like . For .gif files, outline calculates the correct height and width.
If underscores appear in the names of local files, they are replaced with spaces in the HTML version, i.e. section_2 will be replaced by <A HREF="section_2.html"> section 2</A>
Template
If you provide a template document, it should include the text %(title)s where you want the title to go, and %(body)s where you want the rendered HTML to go (typically inside the BODY of the HTML document. The default template appears below:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>%(title)s</TITLE></HEAD>
<BODY>
%(body)s
</BODY>
</HTML>
Source
Is in ~gary/src/outline/ if you want to hack. It's just a few Python files.