Setext

Setext (Structure Enhanced Text) 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 that multiple documents could be included in a single stream, separated by a special  tag serving as a document delimiter. After several months, it was clarified 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.

<!-- Temporary notes for use during table verification / update – July/August 2022

=
================================================================

References: * https://web.archive.org/web/20010424104701/http://www.bsdi.com:80/setext/ * Valid Typotags Table (v14)

Still missing from table above: * quote-tt * note-tt * twobuck-tt * suppress-tt * twodot-tt * subject-tt

To do: * Add missing ‘tt’s to table * Update table for accessibility per * Table caption (visible) and summary (invisible, like an ‘alt’ tag) * Column and row headers must have ‘scope’ tags * ‘Tooltips’ using Column title in place of column-titles? * Fix table cell wrapping * Optimize usage of ‘code’, ‘pre’, and ‘syntaxhighlight’ tags * proofread ~everything~

never officially used - some implementations used ‘$$’ to delimit between setext documents in the same file/stream

Purpose - * Structured text system. Human-readable in ‘raw’ form, but actual appearance depends on display program and any formatting options it provides

* Setext was of particular use before web browsers were commonly available!

All tags (16 total)

subject-tt	Subject: …[From: … & Date: … ]	- splits into e-mail style header fields or LaTeX title page ‘ \title, \author, and \date ‘ * In effect, metadata for multi-document setext streams title-tt	“Title subhead-tt	“Subhead——-“	Only required element for valid setext (or ‘title-tt”) indent-tt	66-char lines indented by 2 spaces (regular body text) bold-tt	**[multi]word** italic-tt	~word~ underline-tt	[_multi]_word_ hot-tt	[multi_]word_ Hyperlinks or LaTeX references (is ‘hot_word_’ literal, like ‘http’ or can it be ‘any_terms_’? Is it, for example, “Website_name_”??) include-tt	>[space][text]	quoted text bullet-tt	*[space][text]	bulleted list item quote-tt	`[typo tags from (a)-(p)]` like or tags href-tt	^.. _hot_word URL note-tt	^.. _hot_word Note:(“*”)	Hyperlink notes (Footnotes? Pullquotes/sidebars?) twobuck-tt	$$[at end of line] supress-tt	^..[space][not dot]	Invisible (i.e. like an HTML comment) twodot-tt ^.. End of file

Editor note: for any wikilinks that should ~not~ be automatically bolded, use Wikipedia:Five pillars; for example:

-->

Standalone Setext files
By default all properly setext-ized files will have an ".etx" or ".ETX" suffix. This stands for an "emailable/enhanced text".

Implementations

 * setext2html.pl — A Perl setext -> HTML converter
 * setextbrowser.zomdir.com  – A web application which let you browse the internet in a semi-setext format