Setext (Structure Enhanced Text)[2] is a lightweight markup language used to format plain text documents such as e-newsletters, Usenet postings, and e-mails. In contrast to some other markup languages (such as HTML), the markup is easily readable without any parsing or special software.
Setext was first introduced in 1991 by Ian Feldman for use in the TidBITS electronic newsletter.
Purpose
Setext allows viewing of marked-up documents without special viewing software. When appropriate software is used, however, a rich text-style experience is available to the user.
Smaller documents are trivial to create in any text editor.
To prevent errors, most large setext publications are created using a markup language such as HTML or SGML and then converted. The setext document can then be distributed without the need for the recipient to use a HTML email or web viewer.
Multiple setext documents in the same file
Multiple setext documents can be stored in the same file, similarly to how the mbox format can store multiple e-mail messages together.
It was initially announced[1] that multiple documents could be included in a single stream, separated by a special <end> tag serving as a document delimiter[b]. After several months, it was clarified[3] that this tag was not an official part of setext, and that multiple documents should instead be delimited by $$ appearing at the end of a line of text.
Regardless of the number of documents stored in the same file, basic metadata can be stored about any or all of them by using the subject-tt tag syntax.
Setext tags
The following are the ten most common of the 16 different setext tags.[4][5][c]
(Linked in the text with a hot-tt as Wikipedia_home_page_) These 'link definitions' are commonly placed at the end of a paragraph/section, or at the very end of the setext document.[i]
Standalone Setext files
By default all properly setext-ized files will have an ".etx" or ".ETX" suffix. This stands for an "emailable/enhanced text".[1]
See also
Other lightweight markup languages (inspired by Setext):
^This was to function much in the same way as the original purpose of the ASCII "File Separator" (FS; 0x1C; typed as Ctrl-\) C0 control character but it proved too visually distracting and so was removed before setext was finalized.
^(Not currently shown in table: note-tt, quote-tt, subject-tt, suppress-tt, twobuck-tt, and twodot-tt)
^(For a document to be valid setext, the only required tag is either 'subhead-tt' or 'title-tt' - all others are optional.)
^ "(A) formal definition of what makes a setext:
a text that contains at least one verified setext subhead or setext title" [6][7]
^ ('-tt' stands for 'typotag', the Feldman's shorthand for 'typographic tags'; contrast with the 'tags' used in modern systems for categorizing data or photos into groups)
^(i.e. the actual text as stored / transmitted, except in the case of bullet-tt. Visual appearance would be defined/controlled by the program displaying the document.)
^"synonymous with the 'grouped' style of HyperCard"
^ ab A href-tt or note-tt 'hot word' prefixed with an underscore (i.e., _hot_word)defines a hyperlink or reference, whereas a hot-tt 'hot word' suffixed with an underscore (i.e., hot_word_) references that hyperlink/reference by name in the body of the text. (Before the Web was ubiquitous, what are now commonly known as 'hyperlinks' were then commonly called 'hot links', especially in 'CD-ROM era' software such as HyperCard and Macromedia Director and in games such as Myst.)