Lightweight markup language

From Wikipedia, the free encyclopedia
(Redirected from Humane markup language)

Template:Short description

Page Module:Message box/ambox.css has no content.

Page Module:Message box/ambox.css has no content.

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. It is used in applications where it may be necessary to read the raw document and the final rendered output.

For instance, a person downloading a software library might prefer to read the documentation in a text editor rather than a web browser. Another use for such languages is to provide for data entry in web-based publishing, as in blogs and wikis, where the input interface is a simple text box. The server software then converts the input into a common document markup language like HTML.

History

Lightweight markup languages were originally used on text-only displays which could not display characters in italics or bold, so informal methods to convey this information had to be developed. This formatting choice was naturally carried forth to plain-text email communications. Console browsers may also resort to similar display conventions.

In 1986 international standard SGML provided facilities to define and parse lightweight markup languages using grammars and tag implication. The 1998 W3C XML is a profile of SGML that omits these facilities. However, no SGML document type definition (DTD) for any of the languages listed below is known.

Types

Lightweight markup languages can be categorized by their tag types. Like HTML (<b>bold</b>), some languages use named elements that share a common format for start and end tags (e.g., BBCode [b]bold[/b]), whereas proper lightweight markup languages are restricted to ASCII-only punctuation marks and other non-letter symbols for tags, but some also mix both styles (e.g., Textile bq.) or allow embedded HTML (e.g., Markdown), possibly extended with custom elements (e.g., MediaWiki <ref>'''source'''</ref>).

Most languages distinguish between markup for lines or blocks and for shorter spans of texts, but some only support inline markup.

Some markup languages are tailored for a specific purpose, such as documenting computer code (e.g., POD, reST, RD) or being converted to a certain output format (usually HTML or LaTeX) and nothing else, others are more general in application. This includes whether they are oriented on textual presentation or on data serialization.[<span title="Script error: No such module "decodeEncode".">clarification needed]

Presentation oriented languages include AsciiDoc, atx, BBCode, Creole, Crossmark, Djot, Epytext, Haml, JsonML, MakeDoc, Markdown, Org-mode, POD (Perl), reST (Python), RD (Ruby), Setext, SiSU, SPIP, Xupl, Texy!, Textile, txt2tags, UDO and Wikitext.

Data serialization oriented languages include Curl (homoiconic, but also reads JSON; every object serializes), JSON, and YAML.

Page Module:Message box/ambox.css has no content.

Comparison of language features

Comparing language features
Language HTML export tool HTML import tool Tables Link titles class attribute id attribute Release date
Template:Rh | AsciiDoc Yes Yes Yes Yes Yes Yes 2002-11-25[1]
Template:Rh | BBCode No No Yes No No No 1998
Template:Rh | Creole No No Yes No No No 2007-07-04[2]
Template:Rh | Djot Yes Yes[3] Yes Yes Yes Yes 2022-07-30[4]
Template:Rh | DokuWiki Yes Yes/No Yes Yes Yes/No Yes/No 2004-07-04[5]
Template:Rh | Gemtext Yes Yes[6] No Yes No No 2020
Template:Rh | GitHub Flavored Markdown Yes No Yes Yes No No 2011-04-28+
Template:Rh | Jira Formatting Notation Yes No Yes Yes No No 2002+[7]
Template:Rh | Markdown Yes Yes No Yes Yes/No Yes/No 2004-03-19[8][9]
Template:Rh | Markdown Extra Yes Yes Yes[10] Yes Yes Yes 2013-04-11[11]
Template:Rh | MediaWiki Yes Yes Yes Yes Yes Yes 2002[12]
Template:Rh | MultiMarkdown Yes No Yes Yes No No 2009-07-13
Template:Rh | Org-mode Yes Yes[13] Yes Yes Yes Yes 2003[14]
Template:Rh | PmWiki Yes[15] Yes Yes Yes Yes Yes 2002-01
Template:Rh | POD Yes ? No Yes ? ? 1994
Template:Rh | reStructuredText Yes Yes[13] Yes Yes Yes auto 2002-04-02[16]
Template:Rh | setext Yes Yes No Yes No No 1992[17]
Template:Rh | Slack No No No Yes No No 2013+[18][19]
Template:Rh | Textile Yes No Yes Yes Yes Yes 2002-12-26[20]
Template:Rh | Texy Yes Yes Yes Yes Yes Yes 2004[21]
Template:Rh | TiddlyWiki Yes No Yes Yes Yes No 2004-09[22]
Template:Rh | txt2tags Yes Yes[23] Yes[24] Yes Yes/No Yes/No 2001-07-26[25]
Template:Rh | WhatsApp No No No No No No 2016-03-16[26]

Markdown's own syntax does not support class attributes or id attributes; however, since Markdown supports the inclusion of native HTML code, these features can be implemented using direct HTML. (Some extensions may support these features.)

txt2tags' own syntax does not support class attributes or id attributes; however, since txt2tags supports inclusion of native HTML code in tagged areas, these features can be implemented using direct HTML when saving to an HTML target.[27]

DokuWiki does not support HTML import natively, but HTML to DokuWiki converters and importers exist and are mentioned in the official documentation.[28] DokuWiki does not support class or id attributes, but can be set up to support HTML code, which does support both features. HTML code support was built-in before release 2023-04-04.[29] In later versions, HTML code support can be achieved through plug-ins, though it is discouraged.[29]

Comparison of implementation features

Template:Sort-under

Comparing implementations, especially output formats
Language Implementations XHTML Con/LaTeX PDF DocBook ODF EPUB DOC(X) LMLs Other License
Template:Rh | AsciiDoc Python, Ruby, JavaScript, Java XHTML LaTeX PDF DocBook ODF EPUB No Template:Screen reader-only Man page, etc. GNU GPL, MIT
Template:Rh | BBCode Perl, PHP, C#, Python, Ruby (X)HTML No No No No No No Template:Screen reader-only Template:Screen reader-only Public Domain
Template:Rh | Creole PHP, Python, Ruby, JavaScript[30] colspan="9" Template:Varies CC BY-SA 1.0
Template:Rh | Djot Lua (originally), JavaScript, PHP, Prolog, Rust[3] HTML LaTeX, ConTeXt PDF DocBook ODF EPUB RTF MediaWiki, reST Man page, S5 etc. MIT
Template:Rh rowspan=2| GitHub Flavored Markdown Haskell (Pandoc) HTML LaTeX, ConTeXt PDF DocBook ODF EPUB DOC AsciiDoc, reST OPML GPL
Java,[31] JavaScript,[32][33][34] PHP,[35][36] Python,[37] Ruby[38] HTML[32][33][34][36][37] No No No No No No Template:Screen reader-only Template:Screen reader-only Proprietary
Template:Rh | Markdown Perl (originally), C,[39][40] Python,[41] JavaScript, Haskell,[13] Ruby,[42] C#, Java, PHP HTML LaTeX, ConTeXt PDF DocBook ODF EPUB RTF MediaWiki, reST Man page, S5 etc. BSD-style & GPL (both)
Template:Rh | Markdown Extra PHP (originally), Python, Ruby XHTML No No No No No No Template:Screen reader-only Template:Screen reader-only BSD-style & GPL (both)
Template:Rh | MediaWiki Perl, PHP, Haskell, Python XHTML No No No No No No Template:Screen reader-only Template:Screen reader-only GNU GPL
Template:Rh | MultiMarkdown C, Perl (X)HTML LaTeX PDF No ODF No DOC, RTF Template:Screen reader-only OPML GPL, MIT
Template:Rh | Org-mode Emacs Lisp, Ruby (parser only), Perl, OCaml XHTML LaTeX PDF DocBook ODF EPUB[43] DOCX[43] Markdown TXT, XOXO, iCalendar, Texinfo, man, contrib: groff, s5, deck.js, Confluence Wiki Markup,[44] TaskJuggler, RSS, FreeMind GPL
Template:Rh | PmWiki PHP XHTML 1.0 Transitional, HTML5 No PDF export addons No No EPUB export addon No Template:Screen reader-only Template:Screen reader-only GNU GPL
Template:Rh | POD Perl (X)HTML, XML LaTeX PDF DocBook No No RTF Template:Screen reader-only Man page, plain text Artistic License, Perl's license
Template:Rh | reStructuredText Python,[45][46] Haskell (Pandoc), Java HTML, XML LaTeX PDF DocBook ODF EPUB DOC Template:Screen reader-only man, S5, Devhelp, Qt Help, CHM, JSON Public Domain
Template:Rh | Textile PHP, JavaScript, Java, Perl, Python, Ruby, ASP, C#, Haskell XHTML No No No No No No Template:Screen reader-only Template:Screen reader-only Textile License
Template:Rh | Texy! PHP, C#, Java[a] (X)HTML No No No No No No Template:Screen reader-only Template:Screen reader-only GNU GPL v2 License
Template:Rh | txt2tags Python,[47] PHP[48] (X)HTML, SGML LaTeX PDF DocBook ODF EPUB DOC Creole, AsciiDoc, MediaWiki, MoinMoin, PmWiki, DokuWiki, Google Code Wiki roff, man, MagicPoint, Lout, PageMaker, ASCII Art, TXT GPL

Comparison of lightweight markup language syntax

Inline span syntax

Although usually documented as yielding italic and bold text, most lightweight markup processors output semantic HTML elements em and strong instead. Monospaced text may either result in semantic code or presentational tt elements. Few languages make a distinction, e.g., Textile, or allow the user to configure the output easily, e.g., Texy.

LMLs sometimes differ for multi-word markup where some require the markup characters to replace the inter-word spaces (infix). Some languages require one character as prefix and suffix, others need two or even three, or support both with slightly different meaning, e.g., different levels of emphasis.

Comparison of text formatting syntax
rowspan=2 Template:Rh | HTML output <strong>strongly emphasized</strong> <em>emphasized text</em> <code>code</code> semantic
<b>bold text</b> <i>italic text</i> <tt>monospace text</tt> presentational
rowspan=2 Template:Rh | AsciiDoc *bold text* _italic text_ `monospace text` Can double operators to apply formatting where there is no word boundary (for example **b**old t**ex**t yields bold text).
Template:Varies Template:Varies
Template:Rh | BBCode [b]bold text[/b] [i]italic text[/i] [code]monospace text[/code] Formatting works across line breaks.
Template:Rh | Creole **bold text** //italic text// {{{monospace text}}} Triple curly braces are for nowiki which is optionally monospace.
Template:Rh | Djot *bold text* _italic text_ `monospace text`
rowspan=2 Template:Rh | DokuWiki **bold text** //italic text// <code>code</code>
''monospace text''
Template:Rh | Gemtext Template:Screen reader-only Template:Screen reader-only ```alt text
monospace text
```
Text immediately following the first three backticks is alt-text.
Template:Rh | Jira Formatting Notation *bold text* _italic text_ {{monospace text}}
rowspan=2 Template:Rh | Markdown[49] **bold text** *italic text* `monospace text` semantic HTML tags
__bold text__ _italic text_
Template:Rh | MediaWiki '''bold text''' ''italic text'' <code>monospace text</code> mostly resorts to inline HTML
rowspan=2 Template:Rh | Org-mode *bold text* /italic text/ =code=
~verbatim~
Template:Rh | PmWiki '''bold text''' ''italic text'' @@monospace text@@
Template:Rh | POD B<bold text> I<italic text> C<monospace text> Indented text is also shown as monospaced code.
Template:Rh | reStructuredText **bold text** *italic text* ``monospace text``
Template:Rh | Setext **bold text** ~italic text~ `monospace text`
Template:Rh | Slack *bold text* _italic text_ `monospace text` ```block of monospaced text```
rowspan=2 Template:Rh | Textile[50] *strong* _emphasis_ @monospace text@ semantic HTML tags
**bold text** __italic text__ presentational HTML tags
rowspan=2 Template:Rh | Texy! **bold text** *italic text* `monospace text` semantic HTML tags by default, optional support for presentational tags
//italic text//
rowspan=2 Template:Rh | TiddlyWiki ''bold text'' //italic text// `monospace text`
``monospace text``
Template:Rh | txt2tags **bold text** //italic text// ``monospace text``
Template:Rh | WhatsApp *bold text* _italic text_ ```monospace text```

Gemtext does not have any inline formatting, monospaced text (called preformatted text in the context of Gemtext) must have the opening and closing ``` on their own lines.

Emphasis syntax

In HTML, text is emphasized with the <em> and <strong> element types, whereas <i> and <b> traditionally mark up text to be italicized or bold-faced, respectively.

Microsoft Word and Outlook, and accordingly other word processors and mail clients that strive for a similar user experience, support the basic convention of using asterisks for boldface and underscores for italic style. While Word removes the characters, Outlook retains them.

Italic type or normal emphasis
Code Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth
*italic* No No No No Yes No No No Yes No No No Yes No No No
**italic** No No No No No No No No No No No No No No No No
_italic_ Yes Yes No Yes Yes No No No No No Yes Yes No No No Yes
__italic__ Yes No No No No No No No No No No Yes No No No No
'italic' Yes/No[b] No No No No No No No No No No No No No No No
''italic'' Yes/No[b] No No No No Yes No Yes No No No No No No No No
/italic/ No No No No No No Yes No No No No No No No No No
//italic// No No Yes No No No No No No No No No Yes Yes Yes No
~italic~ No No No No No No No No No Yes No No No No No No
Bold face or strong emphasis
Code Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth
*bold* Yes Yes No Yes No No Yes No No No Yes Yes No No No Yes
**bold** Yes No Yes No Yes No No No Yes Yes No Yes Yes No Yes No
__bold__ No No No No Yes No No No No No No No No No No No
''bold'' No No No No No No No No No No No No No Yes No No
'''bold''' No No No No No Yes No Yes No No No No No No No No

Editorial syntax

In HTML, removed or deleted and inserted text is marked up with the <del> and <ins> element types, respectively. However, legacy element types <s> or <strike> and <u> are still also available for stricken and underlined spans of text.

Underlined or inserted text
Language
Code
DokuWiki Jira Markdown Org-mode Setext Texy! TiddlyWiki txt2tags
_underline_ No No Optional Yes Yes No No No
__underline__ Yes No Optional No No No Yes Yes
+underline+ No Yes No No No No No No
++underline++ No No No No No Yes No No

AsciiDoc, ATX, Creole, MediaWiki, PmWiki, reST, Slack, Textile and WhatsApp do not support dedicated markup for underlining text. Textile does, however, support insertion via the +inserted+ syntax.

Strike-through or deleted text
Language
Code
Jira Markdown Org-mode Slack Textile Texy TiddlyWiki txt2tags WhatsApp
~stricken~ No No No Yes No No No No Yes
~~stricken~~ No GFM No No No No Yes No No
+stricken+ No No Yes No No No No No No
-stricken- Yes No No No Yes No No No No
--stricken-- No No No No No Yes No Yes No

ATX, Creole, MediaWiki, PmWiki, reST and Setext do not support dedicated markup for striking through text.

DokuWiki supports HTML-like <del>stricken</del> syntax, even with embedded HTML disabled.

AsciiDoc supports stricken text through a built-in text span[c] prefix: [.line-through]#stricken#.

Programming syntax

Quoted computer code is traditionally presented in typewriter-like fonts where each character occupies the same fixed width. HTML offers the semantic <code> and the deprecated, presentational <tt> element types for this task.

Monospaced font, teletype text or code
Code Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth Template:Verth
@code@ No No No No No No No No No No Yes No No No No
@@code@@ No No No No No No No Yes No No No No No No No
`code` Yes No No No No Yes No No No Yes No Yes Yes No Yes
``code`` Yes No No No No Yes No No Yes No No No Yes Yes No
```code``` No No No Yes No Yes No No No Yes/No No No Yes No No
=code= No No No No No No Yes No No No No No No No No
~code~ No No No No No No Yes No No No No No No No No
+code+ Yes/No[b] No No No No No No No No No No No No No No
++code++ Yes/No[b] No No No No No No No No No No No No No No
{{code}} No No No No Yes No No No No No No No No No No
{{{code}}} No No Yes No No No No No No No No No No No No
|code| No Yes No No No No No No No No No No No No No
;;code;;

Mediawiki and Gemtext do not provide lightweight markup for inline code spans.

Heading syntax

Headings are usually available in up to six levels, but the top one is often reserved to contain the same as the document title, which may be set externally. Some documentation may associate levels with divisional types, e.g., part, chapter, section, article or paragraph. This article uses 1 as the top level, but index of heading levels may begin at 1 or 0 in official documentation.

Most LMLs follow one of two styles for headings, either Setext-like underlines or atx-like[51] line markers, or they support both.

Underlined headings

Level 1 Heading
===============

Level 2 Heading
---------------

Level 3 Heading
~~~~~~~~~~~~~~~

The first style uses underlines, i.e., repeated characters (e.g., equals =, hyphen - or tilde ~, usually at least two or four times) in the line below the heading text.

Underlined heading levels
Character
Language
= - ~ * # + ^ _ : " ' ` . Min. length
Template:Rh | AsciiDoc[b] 1 2 3 No No 5 4 No No No No No No 2[d]
Template:Rh | Markdown 1 2 No No No No No No No No No No No 1
Template:Rh | reStructuredText Heading structure is determined dynamically from the succession of headings heading width
Template:Rh | Setext 1 2 No No No No No No No No No No No ?
Template:Rh | Texy! 3 4 No 2 1 No No No No No No No No 3

Headings may optionally be overline in reStructuredText, in addition to being underlined.

Prefixed headings

# Level 1 Heading
## Level 2 Heading ##
### Level 3 Heading ###

The second style is based on repeated markers (e.g., hash #, equals = or asterisk *) at the start of the heading itself, where the number of repetitions indicates the (sometimes inverse) heading level. Most languages also support the reduplication of the markers at the end of the line, but whereas some make them mandatory, others do not even expect their numbers to match.

Line prefix (and suffix) headings
Character
Language
= # * ! + Suffix Levels Indentation
Template:Rh | AsciiDoc Yes No No No No Optional 1–6 No
Template:Rh | Creole Yes No No No No Optional 1–6 No
Template:Rh | DokuWiki Yes No No No No Yes 6-1 No
Template:Rh | Gemtext No Yes No No No ? 1–3 No
Template:Rh | Markdown No Yes No No No Optional 1–6 No
Template:Rh | MediaWiki Yes No No No No Yes 1–6 No
Template:Rh | Org-mode No No Yes No No No 1– +∞ alternative[52][53][54]
Template:Rh | PmWiki No No No Yes No Optional 1–6 No
Template:Rh | Texy! Yes Yes No No No Optional 6–1, dynamic No
Template:Rh | TiddlyWiki No No No Yes No No 1–6 No
Template:Rh | txt2tags Yes No No No Yes Yes 1–6 No

Org-mode supports indentation as a means of indicating the level.

BBCode does not support section headings at all.

POD and Textile choose the HTML convention of numbered heading levels instead.

Other heading formats
Language Format
Template:Rh | POD
=head1 Level 1 Heading
=head2 Level 2 Heading
Template:Rh | Jira[7], Textile[50]
h1. Level 1 Heading
h2. Level 2 Heading
h3. Level 3 Heading
h4. Level 4 Heading
h5. Level 5 Heading
h6. Level 6 Heading

Microsoft Word supports auto-formatting paragraphs as headings if they do not contain more than a handful of words, no period at the end and the user hits the enter key twice. For lower levels, the user may press the tabulator key the according number of times before entering the text, i.e., one through eight tabs for heading levels two through nine.

Hyperlinks can either be added inline, which may clutter the code because of long URLs, or with named alias or numbered id references to lines containing nothing but the address and related attributes and often may be located anywhere in the document. Most languages allow the author to specify text Text to be displayed instead of the plain address http://example.com and some also provide methods to set a different link title Title which may contain more information about the destination.

LMLs that are tailored for special setups, e.g., wikis or code documentation, may automatically generate named anchors (for headings, functions etc.) inside the document, link to related pages (possibly in a different namespace) or provide a textual search for linked keywords.

Most languages employ (double) square or angular brackets to surround links, but hardly any two languages are completely compatible. Many can automatically recognize and parse absolute URLs inside the text without further markup.

Hyperlink syntax
Languages Basic syntax Text syntax Title syntax
AsciiDoc http://example.com[Text] http://example.com
BBCode, Creole, MediaWiki, PmWiki
Slack <http://example.com|Text>
Textile "Text":http://example.com "Text (Title)":http://example.com
Texy! "Text .(Title)":http://example.com
Jira [http://example.com] [Text|http://example.com]
MediaWiki [http://example.com Text]
txt2tags [Text http://example.com]
Creole, MediaWiki, PmWiki, DokuWiki [[Name]] [[Name|Text]]
Org-mode [[Name][Text]]
TiddlyWiki [[Text|Name]]
Creole [[Namespace:Name]] [[Namespace:Name|Text]]
Org-mode [[Namespace:Name][Text]]
Creole, PmWiki [[http://example.com]] [[http://example.com|Text]]
BBCode [url]http://example.com[/url] [url=http://example.com]Text[/url]
Markdown <http://example.com> [Text](http://example.com) [Text](http://example.com "Title")
reStructuredText `Text <http://example.com/>`_
Gemtext => gemini://example.com => gemini://example.com Text
POD L<http://example.com/> L</Name>
setext ^.. _Link_name URL

Gemtext and setext links must be on a line by themselves, they cannot be used inline.

Reference syntax
Languages Text syntax Title syntax
AsciiDoc
… [[id]] …
<<id>>
… [[id]] …
<<id,Text>>
… anchor:id …
xref:id
… anchor:id …
xref:id[Text]
Markdown
… [Text][id] …
[id]: http://example.com
… [Text][id] …
[id]: http://example.com "Title"
… [Text][] …
[Text]: http://example.com
… [Text][] …
[Text]: http://example.com "Title"
… [Text] …
[Text]: http://example.com
… [Text] …
[Text]: http://example.com "Title"
reStructuredText
… Name_ …
.. _Name: http://example.com
setext
… Link_name_ …
^.. _Link_name URL
Textile
… "Text":alias …
[alias]http://example.com
… "Text":alias …
[alias (Title)]http://example.com
Texy!
… "Text":alias …
[alias]: http://example.com
… "Text":alias …
[alias]: http://example.com .(Title)

Org-mode's normal link syntax does a text search of the file. You can also put in dedicated targets with <<id>>.

Media and external resource syntax

Page Module:Message box/ambox.css has no content.

List syntax

HTML requires an explicit element for the list, specifying its type, and one for each list item, but most lightweight markup languages need only different line prefixes for the bullet points or enumerated items. Some languages rely on indentation for nested lists, others use repeated parent list markers.

Template:Sort-under

Unordered, bullet list items
Character
Language
* - + # . Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst _ : Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst nest
Template:Rh | AsciiDoc Yes Yes No No No No No No No No No 0[e] ? repeat or alternate the marker
Template:Rh | DokuWiki Yes No No No No No No No No No No 2+ 0+ indent
Template:Rh | Gemtext Yes No No No No No No No No No No 0 1+ Template:Screen reader-only
Template:Rh | Jira Yes Yes No No No No No No No No No 0 1+ repeat
Template:Rh | Markdown Yes Yes Yes No No No No No No No No 0–3 1–3 indent
Template:Rh | MediaWiki, TiddlyWiki Yes No No No No No No No No No No 0 1+ repeat
Template:Rh | Org-mode Yes[55] Yes Yes No No No No No No No No 0+ indent
Template:Rh | Textile Yes No No No No No No No No No No 0 1+ repeat
Template:Rh | Texy! Yes Yes Yes No No No No No No No No 2+ ? indent

Microsoft Word automatically converts paragraphs that start with an asterisk *, hyphen-minus - or greater-than bracket > followed by a space or horizontal tabulator as bullet list items. It will also start an enumerated list for the digit 1 and the case-insensitive letters a (for alphabetic lists) or i (for roman numerals), if they are followed by a period ., a closing round parenthesis ), a greater-than sign > or a hyphen-minus - and a space or tab; in case of the round parenthesis an optional opening one ( before the list marker is also supported.

Languages differ on whether they support optional or mandatory digits in numbered list items, which kinds of enumerators they understand (e.g., decimal digit 1, roman numerals i or I, alphabetic letters a or A) and whether they support to keep explicit values in the output format. Some Markdown dialects, for instance, will respect a start value other than 1, but ignore any other explicit value.

Template:Sort-under

Ordered, enumerated list items
Character
Language
+ # - . #1 1. 1) 1] 1} (1) [1] {1} Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst Page Template:Tooltip/styles.css has no content.Template:Encodefirst nest
Template:Rh | AsciiDoc No No No Yes No Yes No No No No No No Yes[f] 0[e] ? repeat or alternate the marker
Template:Rh | DokuWiki No No Yes No No No No No No No No No No No No No 2+ 0+ indent
Template:Rh | Jira, MediaWiki, Textile, TiddlyWiki No Yes No No No No No No No No No No No No No No 0 1+ repeat
Template:Rh | Markdown No No No No No Yes Yes No No No No No No No No No 0–3 1–3 indent
Template:Rh | Org-mode No No No No No Yes Yes No No No No No Optional No No 0+ indent
Template:Rh | Texy! No No No No No Yes Yes No No No No No Only with ) delimiter No Only with ) delimiter 2+ ? indent

Slack assists the user in entering enumerated and bullet lists, but does not actually format them as such, i.e., it just includes a leading digit followed by a period and a space or a bullet character in front of a line.

Labeled, glossary, description/definition list syntax
Languages Term being defined Definition of the term
AsciiDoc Term:: No specific requirements; may be mixed with ordered or unordered lists, with nesting optional
Term::::
Term;;
MediaWiki ; Term : Definition
Textile
TiddlyWiki
Texy!
Term:
 - Definition
Org-mode - Term :: Definition

Quotation syntax

Page Module:Message box/ambox.css has no content.

Table syntax

Page Module:Message box/ambox.css has no content.

Historical formats

The following lightweight markup languages, while similar to some of those already mentioned, have not yet been added to the comparison tables in this article:

See also

Notes

Page Template:Reflist/styles.css has no content.

  1. ^ JTexy has full compatibility with Texy! 1.0 syntax and some compatibility with 2.0+.
  2. ^ a b c d e Cite error: The named reference asciidoctor-deprecation was invoked but never defined (see the help page).
  3. ^ Text spans in AsciiDoc are termed quoted text attributes in legacy implementations.
  4. ^ Width of title ± 2 characters
  5. ^ a b Indenting by a single whitepace in AsciiDoc will preformat the text of that line.
  6. ^ The modern language specification only supports a full stop as a delimiter for any ordered list. In the legacy AsciiDoc.py syntax, only a right parenthesis was acceptable for either lower alpha or Roman numerals.

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."AsciiDoc ChangeLog". Retrieved 2017-02-24.
  2. ^ Page Module:Citation/CS1/styles.css has no content."WikiCreole Versions". Retrieved 2017-02-24.
  3. ^ a b Page Module:Citation/CS1/styles.css has no content."djot". Retrieved 2023-08-26.
  4. ^ Page Module:Citation/CS1/styles.css has no content."djot 0.1.0". GitHub. Retrieved 2023-08-26.
  5. ^ Page Module:Citation/CS1/styles.css has no content."DokuWiki old_changes". Retrieved 2024-11-26.
  6. ^ https://github.com/LukeEmmet/html2gemini
  7. ^ a b Page Module:Citation/CS1/styles.css has no content.Jira. "Text Formatting Notation Help". Atlassian. Retrieved 2020-12-22.
  8. ^ Page Module:Citation/CS1/styles.css has no content."Markdown". Aaron Swartz: The Weblog. 2004-03-19.
  9. ^ Page Module:Citation/CS1/styles.css has no content."Daring Fireball: Markdown". Archived from the original on 2004-04-02. Retrieved 2014-04-25.
  10. ^ Page Module:Citation/CS1/styles.css has no content."PHP Markdown Extra". Michel Fortin. Retrieved 2013-10-08.
  11. ^ Page Module:Citation/CS1/styles.css has no content."PHP Markdown: History". Michel Fortin. Retrieved 2020-12-23.
  12. ^ Page Module:Citation/CS1/styles.css has no content."MediaWiki history". Retrieved 2017-02-24.
  13. ^ a b c Pandoc Script error: No such module "webarchive"., which is written in Haskell, parses Markdown (in two forms), ReStructuredText, HTML, and LaTeX; it writes from any of these formats to HTML, RTF, LaTeX, ConTeXt, OpenDocument, EPUB, PDF (via LaTeX), and several other formats.
  14. ^ Page Module:Citation/CS1/styles.css has no content."Org mode for Emacs – Your Life in Plain Text". orgmode.org. OrgMode team. Retrieved 2016-12-09.
  15. ^ Page Module:Citation/CS1/styles.css has no content."PmWiki Cookbook - Export addons". Retrieved 7 January 2018.
  16. ^ Page Module:Citation/CS1/styles.css has no content."An Introduction to reStructuredText". Retrieved 2017-02-24.
  17. ^ Page Module:Citation/CS1/styles.css has no content."TidBITS in new format". TidBITS. 1992-01-06. Retrieved 2022-07-01.
  18. ^ Page Module:Citation/CS1/styles.css has no content."Slack Help Center > Using Slack > Send messages > Format your messages". Retrieved 2018-08-07.
  19. ^ Page Module:Citation/CS1/styles.css has no content."Slack API documentation: Basic message formatting". Retrieved 2018-08-07.
  20. ^ Page Module:Citation/CS1/styles.css has no content."Textism › Tools › Textile". textism.com. Archived from the original on 26 December 2002.
  21. ^ Page Module:Citation/CS1/styles.css has no content."What is Texy". Retrieved 2017-02-24.
  22. ^ Page Module:Citation/CS1/styles.css has no content."History of TiddlyWiki". tiddlywiki.com.
  23. ^ Page Module:Citation/CS1/styles.css has no content."Html2wiki txt2tags module". MetaCPAN. cpan.org. Retrieved 2014-01-30.
  24. ^ Page Module:Citation/CS1/styles.css has no content."Txt2tags User Guide". Txt2tags.org. Retrieved 2017-02-24.
  25. ^ Page Module:Citation/CS1/styles.css has no content."txt2tags changelog". Retrieved 2017-02-24.
  26. ^ Page Module:Citation/CS1/styles.css has no content."WhatsApp FAQ: Formatting your messages". Retrieved 2017-11-21.
  27. ^ Page Module:Citation/CS1/styles.css has no content."Txt2tags User Guide". Txt2tags.org. Retrieved 2017-02-24.
  28. ^ Page Module:Citation/CS1/styles.css has no content."DokuWiki Tips htmltowiki". Retrieved 2024-11-26.
  29. ^ a b Page Module:Citation/CS1/styles.css has no content."DokuWiki FAQ html". Retrieved 2024-11-26.
  30. ^ Page Module:Citation/CS1/styles.css has no content."Converters". WikiCreole. Retrieved 2013-10-08.
  31. ^ pegdown: A Java library for Markdown processing
  32. ^ a b gfms: Github Flavored Markdown Server
  33. ^ a b marked: A full-featured markdown parser and compiler, written in JavaScript. Built for speed.
  34. ^ a b node-gfm: GitHub flavored markdown to HTML converter
  35. ^ Parsedown: Markdown parser written in PHP
  36. ^ a b Ciconia: Markdown parser written in PHP
  37. ^ a b Grip: GitHub Readme Instant Preview
  38. ^ github-markdown: Self-contained Markdown parser for GitHub
  39. ^ peg-markdown is an implementation of markdown in C.
  40. ^ Discount is also an implementation of markdown in C.
  41. ^ Page Module:Citation/CS1/styles.css has no content."Python-Markdown". Github.com. Retrieved 2013-10-08.
  42. ^ Page Module:Citation/CS1/styles.css has no content.Bruce Williams. "kramdown: Project Info". RubyForge. Archived from the original on 2013-08-07. Retrieved 2013-10-08.
  43. ^ a b Page Module:Citation/CS1/styles.css has no content."Via ox-pandoc and pandoc itself". GitHub.
  44. ^ Page Module:Citation/CS1/styles.css has no content.Atlassian. "Confluence 4.0 Editor - What's Changed for Wiki Markup Users (Confluence Wiki Markup is dead)". Retrieved 2018-03-28.
  45. ^ Docutils is an implementation of ReStructuredText in Python
  46. ^ Sphinx is an implementation of ReStructuredText in Python and Docutils with a number of output format Builders
  47. ^ Page Module:Citation/CS1/styles.css has no content.Aurelio Jargas www.aurelio.net (2012-01-11). "txt2tags". txt2tags. Retrieved 2013-10-08.
  48. ^ Page Module:Citation/CS1/styles.css has no content."txt2tags.class.php - online convertor [sic]". Txt2tags.org. Retrieved 2013-10-08.
  49. ^ Page Module:Citation/CS1/styles.css has no content."Markdown Syntax". Daringfireball.net. Retrieved 2013-10-08.
  50. ^ a b Textile Syntax Script error: No such module "webarchive".
  51. ^ "atx, the true structured text format" by Aaron Swartz (2002)
  52. ^ Page Module:Citation/CS1/styles.css has no content."The Org Manual: section "A Cleaner Outline View"". Retrieved 14 June 2020.
  53. ^ Page Module:Citation/CS1/styles.css has no content."using org-adapt-indentation".
  54. ^ Page Module:Citation/CS1/styles.css has no content."using org-indent-mode or org-indent".
  55. ^ Footnote in official manual "When using ‘*’ as a bullet, lines must be indented so that they are not interpreted as headlines. Also, when you are hiding leading stars to get a clean outline view, plain list items starting with a star may be hard to distinguish from true headlines. In short: even though ‘*’ is supported, it may be better to not use it for plain list items."
  56. ^ Page Module:Citation/CS1/styles.css has no content."EtText: Documentation: Using EtText". ettext.taint.org. Retrieved 2022-06-30. originally from the WebMake[1] project.
  57. ^ Page Module:Citation/CS1/styles.css has no content."Un naufragio personal: The Grutatxt markup". triptico.com. Archived from the original on 2022-06-30. Retrieved 2022-06-30. Public domain format (since version 2.20); originally used in the Gruta CMS system.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.