Lightweight markup language - Wikipedia
Jump to content
From Wikipedia, the free encyclopedia
Markup language with simple, unobtrusive syntax
This article
may contain
original research
Please
improve it
by
verifying
the claims made and adding
inline citations
. Statements consisting only of original research should be removed.
September 2025
Learn how and when to remove this message
It has been suggested that some portions of this article be
split
out into multiple articles. (
Discuss
March 2025
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
edit
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
edit
Lightweight markup languages can be categorized by their tag types. Like HTML (

bold

), 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.
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
This section
needs expansion
with: comparison table with types of languages explained above; could be integrated into other high-level tables. You can help by
adding missing information
June 2014
Comparison of language features
edit
Comparing language features
Language
HTML export tool
HTML import tool
Tables
Link titles
class
attribute
id
attribute
Release date
AsciiDoc
Yes
Yes
Yes
Yes
Yes
Yes
2002-11-25
BBCode
No
No
Yes
No
No
No
1998
Creole
No
No
Yes
No
No
No
2007-07-04
Djot
Yes
Yes
Yes
Yes
Yes
Yes
2022-07-30
DokuWiki
Yes
Yes/No
Yes
Yes
Yes/No
Yes/No
2004-07-04
Gemtext
Yes
No
Yes
No
No
2020
GitHub Flavored Markdown
Yes
No
Yes
Yes
No
No
2011-04-28+
Jira Formatting Notation
Yes
No
Yes
Yes
No
No
2002+
Markdown
Yes
Yes
No
Yes
Yes/No
Yes/No
2004-03-19
Markdown Extra
Yes
Yes
Yes
Yes
Yes
Yes
2013-04-11
10
MediaWiki
Yes
Yes
Yes
Yes
Yes
Yes
2002
11
MultiMarkdown
Yes
No
Yes
Yes
No
No
2009-07-13
Org-mode
Yes
Yes
12
Yes
Yes
Yes
Yes
2003
13
PmWiki
Yes
14
Yes
Yes
Yes
Yes
Yes
2002-01
POD
Yes
No
Yes
1994
reStructuredText
Yes
Yes
12
Yes
Yes
Yes
auto
2002-04-02
15
setext
Yes
Yes
No
Yes
No
No
1992
16
Slack
No
No
No
Yes
No
No
2013+
17
18
Textile
Yes
No
Yes
Yes
Yes
Yes
2002-12-26
19
Texy
Yes
Yes
Yes
Yes
Yes
Yes
2004
20
TiddlyWiki
Yes
No
Yes
Yes
Yes
No
2004-09
21
txt2tags
Yes
Yes
22
Yes
23
Yes
Yes/No
Yes/No
2001-07-26
24
WhatsApp
No
No
No
No
No
No
2016-03-16
25
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.
26
DokuWiki does not support HTML import natively, but HTML to DokuWiki converters and importers exist and are mentioned in the official documentation.
27
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.
28
In later versions, HTML code support can be achieved through
plug-ins
, though it is discouraged.
28
Comparison of implementation features
edit
Comparing implementations, especially output formats
Language
Implementations
HTML
Con
La
TeX
PDF
DocBook
ODF
EPUB
DOC
(X)
LMLs
Other
License
AsciiDoc
Python
Ruby
JavaScript
Java
XHTML
LaTeX
PDF
DocBook
ODF
EPUB
No
N/a
Man page
, etc.
GNU GPL, MIT
BBCode
Perl
PHP
C#
Python
Ruby
(X)HTML
No
No
No
No
No
No
N/a
N/a
Public Domain
Creole
PHP
Python
Ruby
JavaScript
29
Depends on implementation
CC BY-SA
1.0
Djot
Lua
(originally),
JavaScript
PHP
Prolog
Rust
HTML
LaTeX, ConTeXt
PDF
DocBook
ODF
EPUB
RTF
MediaWiki, reST
Man page, S5 etc.
MIT
GitHub Flavored Markdown
Haskell (
Pandoc
HTML
LaTeX, ConTeXt
PDF
DocBook
ODF
EPUB
DOC
AsciiDoc
reST
OPML
GPL
Java
30
JavaScript
31
32
33
PHP
34
35
Python
36
Ruby
37
HTML
31
32
33
35
36
No
No
No
No
No
No
N/a
N/a
Proprietary
Markdown
Perl
(originally),
38
39
Python
40
JavaScript
Haskell
12
Ruby
41
C#
Java
PHP
HTML
LaTeX, ConTeXt
PDF
DocBook
ODF
EPUB
RTF
MediaWiki
reST
Man page
S5
etc.
BSD-style & GPL (both)
Markdown Extra
PHP
(originally),
Python
Ruby
XHTML
No
No
No
No
No
No
N/a
N/a
BSD-style & GPL (both)
MediaWiki
Perl
PHP
Haskell
Python
XHTML
No
No
No
No
No
No
N/a
N/a
GNU GPL
MultiMarkdown
Perl
(X)HTML
LaTeX
PDF
No
ODF
No
DOC, RTF
N/a
OPML
GPL
MIT
Org-mode
Emacs Lisp
Ruby
(parser only),
Perl
OCaml
XHTML
LaTeX
PDF
DocBook
ODF
EPUB
42
DOCX
42
Markdown
TXT
XOXO
iCalendar
Texinfo
man
, contrib:
groff
s5
, deck.js, Confluence Wiki Markup,
43
TaskJuggler
RSS
FreeMind
GPL
PmWiki
PHP
XHTML 1.0 Transitional, HTML5
No
PDF export addons
No
No
EPUB export addon
No
N/a
N/a
GNU GPL
POD
Perl
(X)HTML, XML
LaTeX
PDF
DocBook
No
No
RTF
N/a
Man page
plain text
Artistic License
, Perl's license
reStructuredText
Python
44
45
Haskell
Pandoc
),
Java
HTML, XML
LaTeX
PDF
DocBook
ODF
EPUB
DOC
N/a
man
S5
Devhelp
Qt Help
CHM
JSON
Public Domain
Textile
PHP
JavaScript
Java
Perl
Python
Ruby
ASP
C#
Haskell
XHTML
No
No
No
No
No
No
N/a
N/a
Textile License
Texy!
PHP
C#
Java
(X)HTML
No
No
No
No
No
No
N/a
N/a
GNU GPL v2 License
txt2tags
Python
46
PHP
47
(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
edit
Inline span syntax
edit
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
HTML output
strongly emphasized
emphasized text
code
semantic
bold text
italic text
monospace text
presentational
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
old t
ex
t).
'italic text'
+monospace text+
BBCode
[b]bold text[/b]
[i]italic text[/i]
[code]monospace text[/code]
Formatting works across line breaks.
Creole
**bold text**
//italic text//
{{{monospace text}}}
Triple curly braces are for
nowiki
which is optionally monospace.
Djot
*bold text*
_italic text_
`monospace text`
DokuWiki
**bold text**
//italic text//
code
''monospace text''
Gemtext
N/a
N/a
```alt text
monospace text
```
Text immediately following the first three backticks is alt-text.
Jira Formatting Notation
*bold text*
_italic text_
{{monospace text}}
Markdown
48
**bold text**
*italic text*
`monospace text`
semantic HTML tags
__bold text__
_italic text_
MediaWiki
'''bold text'''
''italic text''
monospace text
mostly resorts to inline HTML
Org-mode
*bold text*
/italic text/
=code=
~verbatim~
PmWiki
'''bold text'''
''italic text''
@@monospace text@@
POD
B
I
C
Indented text is also shown as monospaced code.
reStructuredText
**bold text**
*italic text*
``monospace text``
Setext
**bold text**
~italic text~
`monospace text`
Slack
*bold text*
_italic text_
`monospace text`
```block of monospaced text```
Textile
49
*strong*
_emphasis_
@monospace text@
semantic HTML tags
**bold text**
__italic text__
presentational HTML tags
Texy!
**bold text**
*italic text*
`monospace text`
semantic HTML tags by default, optional support for presentational tags
//italic text//
TiddlyWiki
''bold text''
//italic text//
`monospace text`
``monospace text``
txt2tags
**bold text**
//italic text//
``monospace text``
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
edit
In HTML, text is emphasized with the

and

element types, whereas

and

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
AsciiDoc
ATX
Creole,
DokuWiki
Jira
Markdown
MediaWiki
Org-mode
PmWiki
reST
Setext
Slack
Textile
Texy!
TiddlyWiki
txt2tags
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
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
''italic''
Yes/No
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
AsciiDoc
ATX
Creole,
DokuWiki
Jira
Markdown
MediaWiki
Org-mode
PmWiki
reST
Setext
Slack
Textile
Texy!
TiddlyWiki
txt2tags
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
edit
In HTML, removed or deleted and inserted text is marked up with the

and

element types, respectively. However, legacy element types

or

and

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
stricken
syntax, even with embedded HTML disabled.
AsciiDoc supports stricken text through a built-in
text span
prefix:
[.line-through]#stricken#
Programming syntax
edit
Quoted computer code is traditionally presented in typewriter-like fonts where each character occupies the same fixed width. HTML offers the semantic

and the deprecated, presentational

element types for this task.
Monospaced font, teletype text or code
Code
AsciiDoc
ATX
Creole
Gemtext
Jira
Markdown
Org-mode
PmWiki
reST
Slack
Textile
Texy!
TiddlyWiki
txt2tags
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
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
No
No
No
No
No
No
No
No
No
No
No
No
No
No
++code++
Yes/No
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
edit
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
as the top level, but index of heading levels may begin at
or
in official documentation.
Most LMLs follow one of two styles for headings, either
Setext
-like underlines or
atx
-like
50
line markers, or they support both.
Underlined headings
edit
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
AsciiDoc
No
No
No
No
No
No
No
No
Markdown
No
No
No
No
No
No
No
No
No
No
No
reStructuredText
Heading structure is determined dynamically from the succession of headings
heading width
Setext
No
No
No
No
No
No
No
No
No
No
No
Texy!
No
No
No
No
No
No
No
No
No
Headings may optionally be overline in
reStructuredText
, in addition to being underlined.
Prefixed headings
edit
# 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
AsciiDoc
Yes
No
No
No
No
Optional
1–6
No
Creole
Yes
No
No
No
No
Optional
1–6
No
DokuWiki
Yes
No
No
No
No
Yes
6-1
No
Gemtext
No
Yes
No
No
No
1–3
No
Markdown
No
Yes
No
No
No
Optional
1–6
No
MediaWiki
Yes
No
No
No
No
Yes
1–6
No
Org-mode
No
No
Yes
No
No
No
1– +∞
alternative
51
52
53
PmWiki
No
No
No
Yes
No
Optional
1–6
No
Texy!
Yes
Yes
No
No
No
Optional
6–1, dynamic
No
TiddlyWiki
No
No
No
Yes
No
No
1–6
No
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
POD
=head1 Level 1 Heading
=head2 Level 2 Heading
Jira
Textile
49
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
edit
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
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
BBCode, Creole, MediaWiki, PmWiki
Slack

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

[Text](http://example.com)
[Text](http://example.com "Title")
reStructuredText
`Text `_
Gemtext
=> gemini://example.com
=> 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.
Reference syntax
Languages
Text syntax
Title syntax
AsciiDoc
… [[id]] …
<>
… [[id]] …
<>
… anchor:id …
xref:id
… anchor:id …
xref:id[Text]
Markdown
… [
Text
][
id
] …
id
]:
… [
Text
][
id
] …
id
]:
… [
Text
][] …
Text
]:
… [
Text
][] …
Text
]:
… [Text] …
Text
]:
… [Text] …
Text
]:
reStructuredText
… Name_ …
..
_Name:
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
edit
This section
needs expansion
with: comparison table featuring how languages handle embedded images, audio, video and other types of media (e.g., social media links). You can help by
adding missing information
June 2014
List syntax
edit
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.
Unordered, bullet list items
Character
Language
indent
skip
nest
AsciiDoc
Yes
Yes
No
No
No
No
No
No
No
No
No
repeat
or
alternate the marker
DokuWiki
Yes
No
No
No
No
No
No
No
No
No
No
2+
0+
indent
Gemtext
Yes
No
No
No
No
No
No
No
No
No
No
1+
N/a
Jira
Yes
Yes
No
No
No
No
No
No
No
No
No
1+
repeat
Markdown
Yes
Yes
Yes
No
No
No
No
No
No
No
No
0–3
1–3
indent
MediaWiki
TiddlyWiki
Yes
No
No
No
No
No
No
No
No
No
No
1+
repeat
Org-mode
Yes
54
Yes
Yes
No
No
No
No
No
No
No
No
0+
indent
Textile
Yes
No
No
No
No
No
No
No
No
No
No
1+
repeat
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
and the case-insensitive letters
(for alphabetic lists) or
(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
, roman numerals
or
, alphabetic letters
or
) 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.
Ordered, enumerated list items
Character
Language
#1
1.
1)
1]
1}
(1)
[1]
{1}
a.
A.
i.
I.
indent
skip
nest
AsciiDoc
No
No
No
Yes
No
Yes
No
No
No
No
No
No
Yes
repeat
or
alternate the marker
DokuWiki
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
2+
0+
indent
Jira
MediaWiki
Textile
TiddlyWiki
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
1+
repeat
Markdown
No
No
No
No
No
Yes
Yes
No
No
No
No
No
No
No
No
No
0–3
1–3
indent
Org-mode
No
No
No
No
No
Yes
Yes
No
No
No
No
No
Optional
No
No
0+
indent
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
edit
This section
needs expansion
with: differentiation between in-line and block quotes, and any handling for attribution. You can help by
adding missing information
June 2014
Table syntax
edit
This section
needs expansion
with: Cell, Row, Column, Header, Caption. You can help by
adding missing information
June 2014
Historical formats
edit
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
55
circa 2000.
Grutatext
56
circa 2002.
See also
edit
Comparison of document-markup languages
Comparison of documentation generators
Lightweight programming language
Notes
edit
JTexy has full compatibility with
Texy!
1.0 syntax and some compatibility with 2.0+.
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
remains available through a compatibility mode
Text spans
in AsciiDoc are termed
quoted text attributes
in legacy implementations.
Width of title ± 2 characters
Indenting by a single whitepace in AsciiDoc will preformat the text of that line.
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
edit
"AsciiDoc ChangeLog"
. Retrieved
2017-02-24
"WikiCreole Versions"
. Retrieved
2017-02-24
"djot"
. Retrieved
2023-08-26
"djot 0.1.0"
GitHub
. Retrieved
2023-08-26
"DokuWiki old_changes"
. Retrieved
2024-11-26
Jira.
"Text Formatting Notation Help"
. Atlassian
. Retrieved
2020-12-22
"Markdown"
Aaron Swartz: The Weblog
. 2004-03-19.
"Daring Fireball: Markdown"
. Archived from
the original
on 2004-04-02
. Retrieved
2014-04-25
"PHP Markdown Extra"
. Michel Fortin
. Retrieved
2013-10-08
"PHP Markdown: History"
. Michel Fortin
. Retrieved
2020-12-23
"MediaWiki history"
. Retrieved
2017-02-24
Pandoc
Archived
2013-11-15 at the
Wayback Machine
, 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.
"Org mode for Emacs – Your Life in Plain Text"
orgmode.org
. OrgMode team
. Retrieved
2016-12-09
"PmWiki Cookbook - Export addons"
. Retrieved
7 January
2018
"An Introduction to reStructuredText"
. Retrieved
2017-02-24
"TidBITS in new format"
TidBITS
. 1992-01-06
. Retrieved
2022-07-01
"Slack Help Center > Using Slack > Send messages > Format your messages"
. Retrieved
2018-08-07
"Slack API documentation: Basic message formatting"
. Retrieved
2018-08-07
"Textism › Tools › Textile"
textism.com
. Archived from
the original
on 26 December 2002.
"What is Texy"
. Retrieved
2017-02-24
"History of TiddlyWiki"
tiddlywiki.com
"Html2wiki txt2tags module"
MetaCPAN
. cpan.org
. Retrieved
2014-01-30
"Txt2tags User Guide"
. Txt2tags.org
. Retrieved
2017-02-24
"txt2tags changelog"
. Retrieved
2017-02-24
"WhatsApp FAQ: Formatting your messages"
. Retrieved
2017-11-21
"Txt2tags User Guide"
. Txt2tags.org
. Retrieved
2017-02-24
"DokuWiki Tips htmltowiki"
. Retrieved
2024-11-26
"DokuWiki FAQ html"
. Retrieved
2024-11-26
"Converters"
. WikiCreole
. Retrieved
2013-10-08
pegdown
: A Java library for Markdown processing
gfms
: Github Flavored Markdown Server
marked
: A full-featured markdown parser and compiler, written in JavaScript. Built for speed.
node-gfm
: GitHub flavored markdown to HTML converter
Parsedown
: Markdown parser written in PHP
Ciconia
: Markdown parser written in PHP
Grip
: GitHub Readme Instant Preview
github-markdown
: Self-contained Markdown parser for GitHub
peg-markdown
is an implementation of
markdown
in
Discount
is also an implementation of
markdown
in
"Python-Markdown"
. Github.com
. Retrieved
2013-10-08
Bruce Williams.
"kramdown: Project Info"
. RubyForge. Archived from
the original
on 2013-08-07
. Retrieved
2013-10-08
"Via ox-pandoc and pandoc itself"
GitHub
Atlassian.
"Confluence 4.0 Editor - What's Changed for Wiki Markup Users (Confluence Wiki Markup is dead)"
. Retrieved
2018-03-28
Docutils
is an implementation of
ReStructuredText
in
Python
Sphinx
is an implementation of
ReStructuredText
in
Python
and
Docutils
with a number of output format
Builders
Aurelio Jargas www.aurelio.net (2012-01-11).
"txt2tags"
. txt2tags
. Retrieved
2013-10-08
"txt2tags.class.php - online convertor [sic]"
. Txt2tags.org
. Retrieved
2013-10-08
"Markdown Syntax"
. Daringfireball.net
. Retrieved
2013-10-08
Textile Syntax
Archived
2010-08-12 at the
Wayback Machine
"atx, the true structured text format" by Aaron Swartz (2002)
"The Org Manual: section "A Cleaner Outline View"
. Retrieved
14 June
2020
"using org-adapt-indentation"
"using org-indent-mode or org-indent"
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."
"EtText: Documentation: Using EtText"
ettext.taint.org
. Retrieved
2022-06-30
originally from the
WebMake
[1]
project.
"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.
External links
edit
Curl
at Wikibooks
Markup language
varieties
Document
General-purpose
Geographic information
Lightweight
Mathematical
Page description
Playlist
User interface
Vector graphics
XML
Unclassified
Retrieved from "
Categories
Lightweight markup languages
Computing-related lists
Data serialization formats
Markup language comparisons
Markup languages
Hidden categories:
Webarchive template wayback links
Articles with short description
Short description matches Wikidata
Articles that may contain original research from September 2025
All articles that may contain original research
Articles proposed for splitting from March 2025
All articles proposed for splitting
Wikipedia articles needing clarification from June 2014
Articles to be expanded from June 2014
All articles to be expanded
Lightweight markup language
Add topic