Lightweight markup language

{{Short description|Markup language with simple, unobtrusive syntax}}

{{Split|date=March 2025|part=yes|discuss=Talk:Lightweight markup language#Proposal to split to comparison page}}

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. Lightweight markup languages are used in applications where it may be necessary to read the raw document as well as 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 application for such languages is to provide for data entry in web-based publishing, such as 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 source).

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.{{clarify|date=June 2014}}

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.

{{expand section|with=comparison table with types of languages explained above; could be integrated into other high-level tables|date=June 2014}}

Comparison of language features

class="wikitable sortable" style="text-align:center"

|+ Comparing language features

Language

! HTML export tool

! HTML import tool

! Tables

! Link titles

! class attribute

! id attribute

! Release date

{{rh}} | AsciiDoc

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2002-11-25{{cite web|url=http://asciidoc.org/CHANGELOG.html |title=AsciiDoc ChangeLog |access-date=2017-02-24}}

{{rh}} | BBCode

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| 1998

{{rh}} | Creole

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| 2007-07-04{{cite web|url=http://www.wikicreole.org/wiki/Versions |title=WikiCreole Versions |access-date=2017-02-24}}

{{rh}} | Djot

| {{yes}}

| {{yes}}{{cite web|url=https://djot.net/ |title=djot |access-date=2023-08-26}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2022-07-30{{cite web|url=https://github.com/jgm/djot/releases/tag/0.1.0 |title=djot 0.1.0 |website=GitHub |access-date=2023-08-26}}

{{rh}} | DokuWiki

| {{yes}}

| {{yes-no}}

| {{yes}}

| {{yes}}

| {{yes-no}}

| {{yes-no}}

| 2004-07-04{{cite web |url=https://www.dokuwiki.org/old_changes#release_2004-07-04 |title=DokuWiki old_changes |access-date=2024-11-26}}

{{rh}} | Gemtext

| {{yes}}

| {{dunno}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| 2020

{{rh}} | GitHub Flavored Markdown

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| 2011-04-28+

{{rh}} | Jira Formatting Notation

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| 2002+{{cite web|url=https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all |title=Text Formatting Notation Help|publisher=Atlassian|subject=Jira|access-date=2020-12-22}}

{{rh}} | Markdown

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{yes-no}}

| {{yes-no}}

| 2004-03-19{{cite web |url=http://www.aaronsw.com/weblog/001189 |title=Markdown |date=2004-03-19 |work=Aaron Swartz: The Weblog}}{{cite web |url=http://daringfireball.net/projects/markdown/ |archive-url=https://web.archive.org/web/20040402182332/http://daringfireball.net/projects/markdown/ |archive-date=2004-04-02 |title=Daring Fireball: Markdown |access-date=2014-04-25}}

{{rh}} | Markdown Extra

| {{yes}}

| {{yes}}

| {{yes}}{{cite web|url=http://michelf.com/projects/php-markdown/extra/#table |title=PHP Markdown Extra |publisher=Michel Fortin |access-date=2013-10-08}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2013-04-11{{cite web|url=https://michelf.ca/projects/php-markdown/version-history/ |title=PHP Markdown: History|publisher=Michel Fortin |access-date=2020-12-23}}

{{rh}} | MediaWiki

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2002{{cite web|url=https://www.mediawiki.org/wiki/MediaWiki_history |title=MediaWiki history |access-date=2017-02-24}}

{{rh}} | MultiMarkdown

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| 2009-07-13

{{rh}} | Org-mode

| {{yes}}

| {{yes}}[http://johnmacfarlane.net/pandoc/ Pandoc], which is written in Haskell, parses Markdown (in two forms) and ReStructuredText, as well as HTML and LaTeX; it writes from any of these formats to HTML, RTF, LaTeX, ConTeXt, OpenDocument, EPUB and several other formats, including (via LaTeX) PDF.

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2003{{cite web |url=http://orgmode.org/ |title=Org mode for Emacs – Your Life in Plain Text |website=orgmode.org |publisher=OrgMode team |access-date=2016-12-09}}

{{rh}} | PmWiki

| {{yes}}{{cite web|url=http://www.pmwiki.org/wiki/PmWiki/Cookbook?action=search&q=name%3DXmlExport%2CBackupHTMLZip%2CExportHTML*%2CPrintGroup+list%3Dmain|title=PmWiki Cookbook - Export addons|access-date=7 January 2018}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2002-01

{{rh}} | POD

| {{yes}}

| {{dunno}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| 1994

{{rh}} | reStructuredText

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes-No|auto}}

| 2002-04-02{{cite web|url=http://docutils.sourceforge.net/docs/ref/rst/introduction.html#history |title=An Introduction to reStructuredText |access-date=2017-02-24}}

{{rh}} | setext

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| 1992{{Cite web |date=1992-01-06 |title=TidBITS in new format |url=https://tidbits.com/1992/01/06/tidbits-in-new-format/ |access-date=2022-07-01 |website=TidBITS |language=en}}

{{rh}} | Slack

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| 2013+{{cite web|url=https://get.slack.help/hc/en-us/articles/202288908 |title= Slack Help Center > Using Slack > Send messages > Format your messages |access-date=2018-08-07}}{{cite web|url=https://api.slack.com/docs/message-formatting |title= Slack API documentation: Basic message formatting |access-date=2018-08-07}}

{{rh}} | Textile

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2002-12-26{{cite web|url=http://textism.com/tools/textile/|archive-url=https://web.archive.org/web/20021226035527/http://textism.com/tools/textile/|title=Textism › Tools › Textile|archive-date=26 December 2002|work=textism.com}}

{{rh}} | Texy

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| 2004{{cite web|url=https://texy.info/en/ |title=What is Texy |access-date=2017-02-24}}

{{rh}} | TiddlyWiki

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| 2004-09{{cite web|url=https://tiddlywiki.com/#History%20of%20TiddlyWiki|title=History of TiddlyWiki|work=tiddlywiki.com}}

{{rh}} | txt2tags

| {{yes}}

| {{yes}}{{cite web|url=https://metacpan.org/pod/HTML::WikiConverter::Txt2tags |title=Html2wiki txt2tags module|publisher=cpan.org |access-date=2014-01-30}}

| {{yes}}{{cite web|url=http://txt2tags.org/userguide/Table.html#6_14 |title=Txt2tags User Guide | publisher=Txt2tags.org |access-date=2017-02-24}}

| {{yes}}

| {{yes-no}}

| {{yes-no}}

| 2001-07-26{{cite web|url=http://txt2tags.org/changelog.html |title=txt2tags changelog |access-date=2017-02-24}}

{{rh}} | WhatsApp

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| 2016-03-16{{cite web|url=https://faq.whatsapp.com/en/android/26000002/ |title=WhatsApp FAQ: Formatting your messages|access-date=2017-11-21}}

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.{{cite web|url=http://txt2tags.org/userguide/TaggedTaggedLineTaggedArea.html#6_16 |title=Txt2tags User Guide | publisher=Txt2tags.org |access-date=2017-02-24}}

DokuWiki does not support HTML import natively, but HTML to DokuWiki converters and importers exist and are mentioned in the official documentation.{{cite web |url=https://www.dokuwiki.org/tips:htmltowiki |title=DokuWiki Tips htmltowiki |access-date=2024-11-26}} 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.{{cite web |url=https://www.dokuwiki.org/faq:html |title=DokuWiki FAQ html |access-date=2024-11-26}} In later versions, HTML code support can be achieved through plugins, though it is discouraged.

Comparison of implementation features

{{sort-under}}

class="wikitable sortable sort-under"

|+ Comparing implementations, especially output formats

! Language !! Implementations

! XHTML

Con/LaTeXPDFDocBookODFEPUBDOC(X)

! {{abbr|LMLs|Lightweight Markup Languages}}

Other

! License

{{rh}} | AsciiDoc

| Python, Ruby, JavaScript, Java

| {{yes|XHTML}} || {{yes|LaTeX}} || {{yes|PDF}} || {{yes|DocBook}} || {{yes|ODF}} || {{yes|EPUB}} || {{no}}

| {{n/a}} || Man page, etc.

| GNU GPL, MIT

{{rh}} | BBCode

| Perl, PHP, C#, Python, Ruby

| {{yes|(X)HTML}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{n/a}} || {{n/a}}

| Public Domain

{{rh}} | Creole

| PHP, Python, Ruby, JavaScript{{cite web|url=http://www.wikicreole.org/wiki/Converters |title=Converters |publisher=WikiCreole |access-date=2013-10-08}}

|colspan="9" {{varies|Depends on implementation}}

| CC_BY-SA 1.0

{{rh}} | Djot

| Lua (originally), JavaScript, Prolog, Rust

| {{yes|HTML}} || {{yes-No|LaTeX, ConTeXt}} || {{yes-No|PDF}} || {{yes-No|DocBook}} || {{yes-No|ODF}} || {{yes-No|EPUB}} || {{yes-No|RTF}}

| {{yes-No|MediaWiki, reST}} || Man page, S5 etc.

| MIT

{{rh}} rowspan=2| GitHub Flavored Markdown

| Haskell (Pandoc)

| {{yes|HTML}} || {{yes|LaTeX, ConTeXt}} || {{yes|PDF}} || {{yes|DocBook}} || {{yes|ODF}} || {{yes|EPUB}} || {{yes|DOC}}

| AsciiDoc, reST || OPML

| GPL

Java,[https://github.com/sirthias/pegdown pegdown]: A Java library for Markdown processing JavaScript,[https://github.com/ypocat/gfms gfms]: Github Flavored Markdown Server[https://github.com/chjj/marked marked]: A full-featured markdown parser and compiler, written in JavaScript. Built for speed.[https://github.com/gagle/Node-GFM node-gfm]: GitHub flavored markdown to HTML converter PHP,[http://parsedown.org/ Parsedown]: Markdown parser written in PHP[https://github.com/kzykhys/Ciconia Ciconia]: Markdown parser written in PHP Python,[https://github.com/joeyespo/grip Grip]: GitHub Readme Instant Preview Ruby[https://rubygems.org/gems/github-markdown github-markdown]: Self-contained Markdown parser for GitHub

| {{yes|HTML}}

{{no}}{{no}}{{no}}{{no}}{{no}}{{no}}

| {{n/a}}

{{n/a}}

| Proprietary

{{rh}} | Markdown

| Perl (originally), C,[https://github.com/jgm/peg-markdown peg-markdown] is an implementation of markdown in C.[http://www.pell.portland.or.us/~orc/Code/discount/ Discount] is also an implementation of markdown in C. Python,{{cite web|url=https://github.com/waylan/Python-Markdown |title=Python-Markdown |publisher=Github.com |access-date=2013-10-08}} JavaScript, Haskell, Ruby,{{cite web|author=Bruce Williams |url=https://rubyforge.org/projects/kramdown/ |title=kramdown: Project Info |publisher=RubyForge |access-date=2013-10-08 |url-status=dead |archive-url=https://web.archive.org/web/20130807011316/http://rubyforge.org/projects/kramdown |archive-date=2013-08-07 }} C#, Java, PHP

| {{yes|HTML}} || {{yes-No|LaTeX, ConTeXt}} || {{yes-No|PDF}} || {{yes-No|DocBook}} || {{yes-No|ODF}} || {{yes-No|EPUB}} || {{yes-No|RTF}}

| {{yes-No|MediaWiki, reST}} || Man page, S5 etc.

| BSD-style & GPL (both)

{{rh}} | Markdown Extra

| PHP (originally), Python, Ruby

| {{yes|XHTML}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{n/a}} || {{n/a}}

| BSD-style & GPL (both)

{{rh}} | MediaWiki

| Perl, PHP, Haskell, Python

| {{yes|XHTML}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{n/a}} || {{n/a}}

| GNU GPL

{{rh}} | MultiMarkdown

| C, Perl

| {{yes|(X)HTML}} || {{yes|LaTeX}} || {{no|PDF}} || {{no}} || {{yes|ODF}} || {{no}} || {{yes|DOC, RTF}}

| {{n/a}} || OPML

| GPL, MIT

{{rh}} | Org-mode

| Emacs Lisp, Ruby (parser only), Perl, OCaml

| {{yes|XHTML}} || {{yes|LaTeX}} || {{yes|PDF}} || {{yes|DocBook}} || {{yes|ODF}} || {{yes|EPUB}}{{cite web|url=https://github.com/kawabata/ox-pandoc#description |title=Via ox-pandoc and pandoc itself|website=GitHub }} || {{yes|DOCX}}

| Markdown || TXT, XOXO, iCalendar, Texinfo, man, contrib: groff, s5, deck.js, Confluence Wiki Markup,{{cite web | last=Atlassian | title=Confluence 4.0 Editor - What's Changed for Wiki Markup Users (Confluence Wiki Markup is dead) | url=https://confluence.atlassian.com/display/CONF40/Confluence+4+Editor+-+What%27s+Changed+for+Wiki+Markup+Users | access-date=2018-03-28}} TaskJuggler, RSS, FreeMind

| GPL

{{rh}} | PmWiki

| PHP

| {{yes|XHTML 1.0 Transitional, HTML5}} || {{no}} || {{yes|PDF export addons}} || {{no}} || {{no}} || {{yes|EPUB export addon}} || {{no}}

| {{n/a}} || {{n/a}}

| GNU GPL

{{rh}} | POD

| Perl

| {{yes|(X)HTML, XML}} || {{yes|LaTeX}} || {{yes|PDF}} || {{yes|DocBook}} || {{no}} || {{no}} || {{yes|RTF}}

| {{n/a}} || Man page, plain text

| Artistic License, Perl's license

{{rh}} | reStructuredText

| Python,[http://docutils.sourceforge.net/docs/index.html Docutils] is an implementation of ReStructuredText in PythonSphinx is an implementation of ReStructuredText in Python and [http://docutils.sourceforge.net/docs/index.html Docutils] with a number of output format [http://sphinx.pocoo.org/latest/builders.html Builders] Haskell (Pandoc), Java,

| {{yes|HTML, XML}} || {{yes|LaTeX}} || {{yes|PDF}} || {{yes|DocBook}} || {{yes|ODF}} || {{yes|EPUB}} || {{yes|DOC}}

| {{n/a}} || man, S5, Devhelp, QT Help, CHM, JSON

| Public Domain

{{rh}} | Textile

| PHP, JavaScript, Java, Perl, Python, Ruby, ASP, C#, Haskell

| {{yes|XHTML}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{n/a}} || {{n/a}}

| Textile License

{{rh}} | Texy!

| PHP, C#, Java {{efn|group=texy|JTexy has full compatibility with Texy! 1.0 syntax and some compatibility with 2.0+.}}

| {{yes|(X)HTML}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{n/a}} || {{n/a}}

| GNU GPL v2 License

{{rh}} | txt2tags

| Python,{{cite web|author=Aurelio Jargas www.aurelio.net |url=http://txt2tags.org/ |title=txt2tags |publisher=txt2tags |date=2012-01-11 |access-date=2013-10-08}} PHP{{cite web|url=http://txt2tags.org/txt2tags.form.php |title=txt2tags.class.php - online convertor [sic] |publisher=Txt2tags.org |access-date=2013-10-08}}

| {{yes|(X)HTML, SGML}} || {{yes|LaTeX}} || {{no|PDF}} || {{yes|DocBook}} || {{no|ODF}} || {{no|EPUB}} || {{no|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 a single character as prefix and suffix, other need doubled or even tripled ones or support both with slightly different meaning, e.g. different levels of emphasis.

class="wikitable sortable"

|+ Comparison of text formatting syntax

rowspan=2 {{rh}} | HTML output

!width="20%"| <strong>strongly emphasized</strong>

!width="20%"| <em>emphasized text</em>

!width="20%"| <code>code</code>

! semantic

<b>bold text</b>

! <i>italic text</i>

! <tt>monospace text</tt>

! presentational

rowspan=2 {{rh}} | AsciiDoc

|rowspan=2| *bold text*

| _italic text_

| `monospace text`

|rowspan=2| Can double operators to apply formatting where there is no word boundary (for example **b**old t**ex**t yields bold text).

{{varies|'italic text'{{efn|name=asciidoctor-deprecation|Deprecated in Asciidoctor 2.0; versions after this represent the current rendition of the language and are aligned to the standard which is still being produced as of April 2025. This syntax [https://docs.asciidoctor.org/asciidoctor/latest/migrate/upgrade/ remains available through a compatibility mode].|group=asciidoc}}}}

| {{varies|+monospace text+{{efn|name=asciidoctor-deprecation}}}}

{{rh}} | BBCode

| [b]bold text[/b]

| [i]italic text[/i]

| [code]monospace text[/code]

| Formatting works across line breaks.

{{rh}} | Creole

| **bold text**

| //italic text//

| {{{monospace text}}}

| Triple curly braces are for nowiki which is optionally monospace.

{{rh}} | Djot

| *bold text*

| _italic text_

| `monospace text`

|

rowspan=2 {{rh}} | DokuWiki

|rowspan=2 | **bold text**

|rowspan=2 | //italic text//

| code

|rowspan=2 |

monospace text
{{rh}} | Gemtext

| {{N/A}}

| {{N/A}}

| ```alt text
monospace text
```

| Text immediately following the first three backticks is alt-text.

{{rh}} | Jira Formatting Notation

| *bold text*

| _italic text_

| {{monospace text}}

|

rowspan=2 {{rh}} | Markdown{{cite web|url=http://daringfireball.net/projects/markdown/syntax |title=Markdown Syntax |publisher=Daringfireball.net |access-date=2013-10-08}}

| **bold text**

| *italic text*

|rowspan=2| `monospace text`

|rowspan=2| semantic HTML tags

__bold text__

| _italic text_

{{rh}} | MediaWiki

| bold text

| italic text

| monospace text

| mostly resorts to inline HTML

rowspan=2 {{rh}} | Org-mode

|rowspan=2| *bold text*

|rowspan=2| /italic text/

| =code=

|rowspan=2|

~verbatim~
{{rh}} | PmWiki

| bold text

| italic text

| @@monospace text@@

|

{{rh}} | POD

| B

| I

| C

| Indented text is also shown as monospaced code.

{{rh}} | reStructuredText

| **bold text**

| *italic text*

| ``monospace text``

|

{{rh}} | Setext

| **bold text**

| ~italic text~

| `monospace text`

|

{{rh}} | Slack

| *bold text*

| _italic text_

| `monospace text`

| ```block of monospaced text```

rowspan=2 {{rh}} | Textile[http://textile.thresholdstate.com/ Textile Syntax] {{webarchive|url=https://web.archive.org/web/20100812131431/http://textile.thresholdstate.com/ |date=2010-08-12 }}

| *strong*

| _emphasis_

|rowspan=2| @monospace text@

| semantic HTML tags

**bold text**

| __italic text__

| presentational HTML tags

rowspan=2 {{rh}} | Texy!

|rowspan=2|**bold text**

| *italic text*

|rowspan=2|`monospace text`

|rowspan=2| semantic HTML tags by default, optional support for presentational tags

//italic text//
rowspan=2 {{rh}} | TiddlyWiki

|rowspan=2|bold text

|rowspan=2|//italic text//

| `monospace text`

|

``monospace text``
{{rh}} | txt2tags

| **bold text**

| //italic text//

| ``monospace text``

|

{{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.

class="wikitable sortable"

|+ Italic type or normal emphasis

Code

! {{verth|AsciiDoc}} !! {{verth|ATX}} !! {{verth|Creole,
DokuWiki}} !! {{verth|Jira}} !! {{verth|Markdown}} !! {{verth|MediaWiki}} !! {{verth|Org-mode}} !! {{verth|PmWiki}} !! {{verth|{{abbr|reST|reStructuredText}}}} !! {{verth|Setext}} !! {{verth|Slack}} !! {{verth|Textile}} !! {{verth|Texy!}} !! {{verth|TiddlyWiki}} !! {{verth|txt2tags}} !! {{verth|WhatsApp}}

*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}}{{efn|name=asciidoctor-deprecation}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

italic

| {{yes-no}}{{efn|name=asciidoctor-deprecation}} || {{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}}

class="wikitable sortable"

|+ Bold face or strong emphasis

Code

! {{verth|AsciiDoc}} !! {{verth|ATX}} !! {{verth|Creole,
DokuWiki}} !! {{verth|Jira}} !! {{verth|Markdown}} !! {{verth|MediaWiki}} !! {{verth|Org-mode}} !! {{verth|PmWiki}} !! {{verth|{{abbr|reST|reStructuredText}}}} !! {{verth|Setext}} !! {{verth|Slack}} !! {{verth|Textile}} !! {{verth|Texy!}} !! {{verth|TiddlyWiki}} !! {{verth|txt2tags}} !! {{verth|WhatsApp}}

*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.

class="wikitable sortable"

|+ Underlined or inserted text

{{diagonal split header|Code|Language}}

! DokuWiki

JiraMarkdownOrg-modeSetextTiddlyWikitxt2tags
_underline_

| {{no}} || {{no}} || {{optional}} || {{yes}} || {{yes}} || {{no}} || {{no}}

__underline__

| {{yes}} || {{no}} || {{optional}} || {{no}} || {{no}} || {{yes}} || {{yes}}

+underline+

| {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

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

class="wikitable sortable"

|+ Strike-through or deleted text

{{diagonal split header|Code|Language}}

! Jira

MarkdownOrg-modeSlackTextileTiddlyWikitxt2tagsWhatsApp
~stricken~

| {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}}

~~stricken~~

| {{no}} || {{yes-no|GFM}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}}

+stricken+

| {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

-stricken-

| {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}}

--stricken--

| {{no}} || {{no}} ||{{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}

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

DokuWiki supports HTML-like stricken syntax, even with embedded HTML disabled.

AsciiDoc supports striken text through a built-in text span{{efn|Text spans in AsciiDoc are termed quoted text attributes in legacy implementations.|group=asciidoc}} 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.

class="wikitable sortable"

|+ Monospaced font, teletype text or code

Code

! {{verth|AsciiDoc}} !! {{verth|ATX}} !! {{verth|Creole}} !! {{verth|Gemtext}} !! {{verth|Jira}} !! {{verth|Markdown}} !! {{verth|Org-mode}} !! {{verth|PmWiki}} !! {{verth|{{abbr|reST|reStructuredText}}}} !! {{verth|Slack}} !! {{verth|Textile}} !! {{verth|Texy!}} !! {{verth|TiddlyWiki}} !! {{verth|txt2tags}} !! {{verth|WhatsApp}}

@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}} || {{no}}

``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}} || {{yes}}

=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}}{{efn|name=asciidoctor-deprecation}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}

++code++

| {{yes-no}}{{efn|name=asciidoctor-deprecation}} || {{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[http://www.aaronsw.com/2002/atx/intro "atx, the true structured text format" by Aaron Swartz (2002)] 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.

class="wikitable sortable"

|+ Underlined heading levels

! {{diagonal split header|Language|Character}}

! =

! -

! ~

! *

! #

! +

! ^

! _

! :

! "

! '

! `

! .

!title="Minimum of characters"| Min. length

{{rh}} | AsciiDoc{{efn|name=asciidoctor-deprecation}}

| {{yes-no|1}} || {{yes-no|2}} || {{yes-no|3}} || {{no}} || {{no}} || {{yes-no|5}} || {{yes-no|4}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 2{{efn|Width of title ± 2 characters|group=asciidoc}}

{{rh}} | Markdown

| {{yes|1}} || {{yes|2}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 1

{{rh}} | reStructuredText

| colspan="13" {{yes|Heading structure is determined dynamically from the succession of headings}} || heading width

{{rh}} | Setext

| {{yes|1}} || {{yes|2}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{dunno}}

{{rh}} | Texy!

| {{yes|3}} || {{yes|4}} || {{no}} || {{yes|2}} || {{yes|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

  1. Level 2 Heading ##
  2. 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.

class="wikitable sortable"

|+ Line prefix (and suffix) headings

! {{diagonal split header|Language|Character}}

! =

! #

! *

! !

! +

! Suffix

! Levels

! Indentation

{{rh}} | AsciiDoc

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{optional}} || 1–6 || {{no}}

{{rh}} | Creole

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{optional}} || 1–6 || {{no}}

{{rh}} | DokuWiki

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || 6-1 || {{no}}

{{rh}} | Gemtext

| {{no}} || {{yes}} || {{no}} || {{no}} || {{no}}

| {{dunno}} || 1–3 || {{no}}

{{rh}} | Markdown

| {{no}} || {{yes}} || {{no}} || {{no}} || {{no}}

| {{optional}} || 1–6 || {{no}}

{{rh}} | MediaWiki

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}

| {{yes}} || 1–6 || {{no}}

{{rh}} | Org-mode

| {{no}} || {{no}} || {{yes}} || {{no}} || {{no}}

| {{no}} || 1– +∞ || {{yes|alternative}}{{cite web |title=The Org Manual: section "A Cleaner Outline View" |url=https://orgmode.org/org.html#Clean-View |access-date=14 June 2020 |ref=orgmanual-cleaner-outline-view}}{{cite web|url=http://lists.gnu.org/archive/html/emacs-orgmode/2009-07/msg00651.html |title=using org-adapt-indentation}}{{cite web|url=http://emacs.stackexchange.com/questions/3786/indented-multi-tiered-lists-and-headings-with-org-indent-mode |title=using org-indent-mode or org-indent}}

{{rh}} | PmWiki

| {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}

| {{optional}} || 1–6 || {{no}}

{{rh}} | Texy!

| {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}}

| {{optional}} || 6–1, dynamic || {{no}}

{{rh}} | TiddlyWiki

| {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}

| {{no}} || 1–6 || {{no}}

{{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.

class="wikitable sortable"

|+ Other heading formats

Language

! Format

{{rh}} | POD

|

=head1 Level 1 Heading

=head2 Level 2 Heading

{{rh}} | Textile, Jira

|

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.

= Link syntax =

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.

class="wikitable sortable"

|+ Hyperlink syntax

! Languages

! Basic syntax !! Text syntax !! Title syntax

AsciiDoc

|rowspan=6| http://example.com[Text]

|http://example.com

|

BBCode, Creole, MediaWiki, PmWiki

|

Slack

| ||

TiddlyWiki

| http://example.com ||

Textile

|rowspan=2| "Text":http://example.com

| "Text (Title)":http://example.com

Texy!

| "Text .(Title)":http://example.com

Jira

|rowspan=3| [http://example.com]

| [Text|http://example.com]

|

MediaWiki

| [http://example.com Text]

|

txt2tags

| [Text http://example.com]

|

Creole, MediaWiki, PmWiki, DokuWiki

|rowspan=3| Name

| Text

|

Org-mode

| Name][Text

|

TiddlyWiki

| Name

|

Creole

|rowspan=2| Namespace:Name

| Text

|

Org-mode

| Namespace:Name][Text

|

Creole, PmWiki

| http://example.com

| Text

|

BBCode

| [url]http://example.com[/url]

| [url=http://example.com]Text[/url]

|

Markdown

|rowspan=2|

| [Text](http://example.com)

| [Text](http://example.com "Title")

reStructuredText

| `Text `_

|

Gemtext

| => gemini://example.com

|colspan=2| => gemini://example.com Text

POD

| L

| L

|

setext

|

| ^.. _Link_name URL

|

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

class="wikitable sortable"

|+ Reference syntax

! Languages

! Text syntax !! Title syntax

rowspan=2| AsciiDoc

| id

<>

| id

<>

… anchor:id …

xref:id

| … anchor:id …

xref:id[Text]

rowspan=3| 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 <>.

= Media and external resource syntax =

{{expand section|with=comparison table featuring how languages handle embedded images, audio, video and other types of media (e.g. social media links)|date=June 2014}}

= 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.

{{sort-under}}

class="wikitable sortable sort-under"

|+ Unordered, bullet list items

! {{diagonal split header|Language|Character}}

! *

! -

! +

! #

! .

!{{tooltip|2=middle dot|·}}

!{{tooltip|2=bullet|}}

! _

! :

!{{tooltip|2=en-dash|}}

!{{tooltip|2=em-dash|}}

!{{tooltip|2=number of whitespace characters before the line prefix|indent}}

!{{tooltip|2=number of whitespace characters after the line prefix|skip}}

! nest

{{rh}} | AsciiDoc

| {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0{{efn|name=asciidoc-indentation|Indenting by a single whitepace in AsciiDoc will preformat the text of that line.|group=asciidoc}} || {{dunno}} || repeat or alternate the marker

{{rh}} | DokuWiki

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 2+ || 0+ || indent

{{rh}} | Gemtext

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0 || 1+ || {{n/a}}

{{rh}} | Jira

| {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0 || 1+ || repeat

{{rh}} | Markdown

| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0–3 || 1–3 || indent

{{rh}} | MediaWiki, TiddlyWiki

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0 || 1+ || repeat

{{rh}} | Org-mode

| {{yes-no|Yes[https://orgmode.org/org.html#FOOT9 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."}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0+ || || indent

{{rh}} | Textile

| {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0 || 1+ || repeat

{{rh}} | Texy!

| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 2+ || {{dunno}} || 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.

{{sort-under}}

class="wikitable sortable sort-under"

|+ Ordered, enumerated list items

! {{diagonal split header|Language|Character}}

! +

! #

! -

! .

! #1

! 1.

! 1)

! 1]

! 1}

! (1)

! [1]

! {1}

! {{tooltip|2=Lower-case letters as alternative to digits (with punctuation as for digits)|a.}}

! {{tooltip|2=Upper-case letters as alternative to digits (with punctuation as for digits)|A.}}

! {{tooltip|2=Lower-case Roman numerals (with punctuation as for digits)|i.}}

! {{tooltip|2=Upper-case Roman numerals (with punctuation as for digits)|I.}}

!{{tooltip|2=number of whitespace characters before the line prefix|indent}}

!{{tooltip|2=number of whitespace characters after the line prefix|skip}}

! nest

{{rh}} | AsciiDoc

| {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || colspan="4" {{yes}}{{efn|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.|group=asciidoc}} || 0{{efn|name=asciidoc-indentation}} || {{dunno}} || repeat or alternate the marker

{{rh}} | DokuWiki

| {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no }} || {{no}} || {{no}} || {{no}} || 2+ || 0+ || indent

{{rh}} | Jira, MediaWiki, Textile, TiddlyWiki

| {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || 0 || 1+ || repeat

{{rh}} | Markdown

| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no }} || {{no}} || {{no}} || {{no}} || 0–3 || 1–3 || indent

{{rh}} | Org-mode

| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || colspan="2" {{optional}} || {{no}} || {{no}} || 0+ || || indent

{{rh}} | Texy!

| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || colspan="2" {{yes-no|Only with ) delimiter}} || {{no}} || {{yes-no|Only with ) delimiter}} || 2+ || {{dunno}} || 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.

class="wikitable sortable"

|+ Labeled, glossary, description/definition list syntax

! Languages

! Term being defined !! Definition of the term

rowspan="3"| AsciiDoc

|Term::

| rowspan="3" |No specific requirements; may be mixed with ordered or unordered lists, with nesting optional

Term::::
Term;;
MediaWiki

|rowspan=2| ; Term

|rowspan=2| : Definition

Textile
Texy!

|colspan="2" |

Term:

- Definition

TiddlyWiki

|colspan="2" |

; Term

: Definition

Org-mode

|colspan="2" | - Term :: Definition

= Quotation syntax =

{{expand section|with=differentiation between in-line and block quotes, as well as any handling for attribution|date=June 2014}}

= Table syntax =

{{expand section|with=Cell, Row, Column, Header, Caption|date=June 2014}}

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:

  • EtText:{{r |name="ettext" |reference={{Cite web |title=EtText: Documentation: Using EtText |url=http://ettext.taint.org/doc/ettext.html |access-date=2022-06-30 |website=ettext.taint.org}} originally from the WebMake[http://webmake.taint.org] project. }} circa 2000.
  • Grutatext:{{r |name="grutatext" |reference={{Cite web |title=Un naufragio personal: The Grutatxt markup |url=https://triptico.com/docs/grutatxt_markup.html |access-date=2022-06-30 |website=triptico.com }} Public domain format (since version 2.20); originally used in the Gruta CMS system.}} circa 2002.

See also

Notes

{{Notelist}}

References

{{Reflist}}