A word should be said about STML and HTML. Early versions of STML allowed to embed HTML tags into the text. In fact, the STML parser simply overread any tag opening (as "<" is no special character in STML) and ignored any HTML stuff. If you wanted a triangle brace "<" in your document, you had to write "<" in your input.
From version 0.7.0 on, this behaviour changes: The STML output system is now aware of all HTML special entities and does correct conversion. So, "<" is now automatically converted to "<". So, the given input produces the wanted result (if I write "<", I would like to see "<"), what is the main reason for STML to exists at all. On the other hand, now it is impossible to produce random HTML tags any more.
From HelpSetMaker 0.7.0 on, you cannot put any direct HTML into your STML documents any more.
This change is needed for two reasons:
As already said, STML should be simple. And simple means: No HTML tags. It simply confuses any author unfamiliar with that kind of stuff...
Disabling any possibility to write straight HTML in the input makes the input text much more format-independant. This way, we have the best and least error-prone way to other, HTML-independant formats like LaTeX.
A line break is written as double tilde, "~~". It may appear at the end of an input line or even in its middle. The output will always contain a beginning of a new line at that position.
Non-breakable spaces are represented by a single underscore character, "_". Such a non-breakable space will always be printed as a space, even at the line's begin or end, and no line break will happen around its position.
The ":raw" command of STML will continue to exist for a while. In its line, HTML tags are still possible. So, if a direct tag is still needed for something, this command can be used. Note however that such documents will not render correctly if output to LaTeX.