Setext (Structure Enhanced Text) is a
lightweight markup language
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightwei ...
used to format plain text documents such as e-newsletters,
Usenet
Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it was ...
postings, and e-mails. In contrast to some other markup languages (such as
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
), the markup is easily readable without any
parsing
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from L ...
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
Rich may refer to:
Common uses
* Rich, an entity possessing wealth
* Rich, an intense flavor, color, sound, texture, or feeling
** Rich (wine), a descriptor in wine tasting
Places United States
* Rich, Mississippi, an unincorporated comm ...
-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
Mbox is a generic term for a family of related file formats used for holding collections of email messages. It was first implemented in Fifth Edition Unix.
All messages in an mbox mailbox are concatenated and stored as plain text in a single f ...
'' format can store multiple
e-mail
Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" meant ...
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.
Standalone Setext files
By default all properly setext-ized files will have an ".etx" or ".ETX" suffix. This stands for an "emailable/enhanced text".
See also
Other lightweight markup languages (inspired by Setext):
*
Markdown
Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown i ...
, one of the most used.
*
reStructuredText
reStructuredText (RST, ReST, or reST) is a file format for textual data used primarily in the Python programming language community for technical documentation.
It is part of the Docutils project of the Python Doc-SIG (Documentation Special Inte ...
, used to generate
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
manuals.
*
Textile
Textile is an umbrella term that includes various fiber-based materials, including fibers, yarns, filaments, threads, different fabric types, etc. At first, the word "textiles" only referred to woven fabrics. However, weaving is not the ...
, designed to generate
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
.
*
txt2tags
txt2tags is a document generator software that uses a lightweight markup language. txt2tags is free software under GNU General Public License.
Written in Python, it can export documents to several formats including: HTML, XHTML, SGML, LaTeX, Lo ...
References
Notes
References
External links
Setext formatSetext historical documentsat Archive.org
TidBITS introduction of setextsetext+sgml at W3.org including the same document in bot
''setext''-like plain textan
formats to allow a side-by-side comparison.
Implementations
setext2html.pl— A
Perl
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
setext -> HTML converter
setextbrowser.zomdir.com''()'' – A
web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
which let you browse the internet in a semi-setext format
{{DEFAULTSORT:Setext
Lightweight markup languages