I've seen a few comments here implying that
teaching the users to do HTML is a simple matter
of getting them to learn a few rules, but I
disagree.
It's true that only a few tags need to be used
for a post. The problem is that the user has to
learn the concept of a tag. This isn't as
straightforward as it seems. It's not obvious to
a user that putting something in angled brackets
does something different. It's also not obvious to
the user why in the samples they look at, some are
paired with end tags, while some are not;and why
some have attributes, and some do not.
Also, the concept of an invisible character is
something that's very unintuitive to an average user.
To most people, a character is one of those things
that they see in front of them. Having invisible
characters seems like a contradiction in terms.
The idea that there
are invisible characters which have complex effects on the
ones around them is mysterious and rather
frightening. If you start fooling around with these
strange and powerful beasts, who knows what terrible
consequences could erupt?
It's important to remember too that an average user
does not possess the concept of "whitespace".
An average person thinks in terms of movement,
not in terms of inserting "whitespace". When he presses
the spacebar, he thinks of that as "moving to the right".
When he presses enter, he thinks of that as "moving down".
That's the more natural way to imagine it, since that's
what happens when handwriting, or even using a typewriter.
"Whitespace" is not an intuitive concept.
Teaching a non-techie HTML is not a simple matter of
informing them of a few basic rules. Instead it involves
completely destroying their existing mental model of
how things work, and creating a new one from scratch;
while introducing them to several deeply unintuitive
new concepts. It's pretty painful for them, and can
be quite bad for you, too.
A proposal
As an alternative, keep things as simple
as possible. Allow them a plain
text mode with stories as with comments. Allow them
to forget about links entirely if they want.
If they do want links, have a group of textboxes that
allow URLS to be entered. Parse them to check that they're
correctly formatted, then put them in the "related links"
box. Forget about naming them, just call them link1, link2
etc.
This solution isn't exactly elegant, but it should be easy
to use. And you can always point them to an HTML tutorial
if they complain...