WHY I CREATED TXT2HTML
David Mertz
mertz@gnosis.cx
Tue 05-16-2000
THE ITCH TO SCRATCH
------------------------------------------------------------------------
The idea for this still-little project started out as a few
lines of single-purpose script. I started writing articles for
a publisher who uses a particular HTML template for articles.
It is nice enough looking, and not too cumbersome.
Nonetheless, I really like writing in a plain text editor,
without bothering with spending keystrokes on tags that you
might mistype... and especially without writing in a
word-processor or "WYSINWYG" HTML editor. Nothing between me
and the words, as god intended (don't get me started on the
missing function keys to the left of my keyboard... I am just
full of theological convictions).
Yes I know about macros in various editors. Yes I know about
folding away the markup, and syntax-highlighting it to focus on
the actual text. And I even hear that editors can help make
sure that tags get spelled correctly, are auto-completed, and
so on. But it is all ways of partially making up for what was
lost in the introduction of the markup.
In terms of markup, it seems like email and Usenet conventions
have it right. An ASCII *boldface* here and there, an
_Underlined_ book title every once in a while. These things
are unobtrusive to type, and look good without depending on
proprietary formats that cannot be read without special tools,
and plain ASCII remains easy to process with programming tools.
A few minor conventions about capitalization and spacing added
to the mix are enough to represent quite a bit of semantic
variation without appearing unnatural to, say, 'less'. So
that's how I started writing my articles.
HOW IT GREW OUT OF CONTROL
------------------------------------------------------------------------
A few lines of Python were enough to transform my basic ASCII
markup into the desired HTML template. But then, the few lines
were awfully fragile about variations from the desired mold. I
got tracebacks for a few mistyped characters. Oh my! And
wouldn't it be nice to use the wonderful [py2html] module to
syntax-highlight the snippets of Python code I am writing
*about*? But just how can I be sure that a snippet is a
snippet, and that it is in Python?
Well now that I've made my script a little less fragile, and a
bit more capable, maybe the code should be organized in a
better fashion. And good documentation is essential. Hey, why
not a form of *self*-documentation?
Hmmm... this nicely documented, reasonably robust tool might be
of use to some other people. But how would they use it? Well,
most of the documents they are likely to want to prettify are
probably out there at the end of a http:// or ftp:// somewhere
in the world. Wouldn't it be handy to have the tool run as a
CGI (but still as a shell tool also)? Still, even though a CGI
is nice, as soon as you run it, you lose all the context of
where you ran from. It sure would be handy to have a little
"navigation agent" that stayed around while you looked at
different not-yet-pretty documents.
And now that I think of it...