A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
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 bold
), 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.
Comparison of 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[1] |
BBCode | No | No | Yes | No | No | No | 1998 |
Creole | No | No | Yes | No | No | No | 2007-07-04[2] |
Djot | Yes | Yes[3] | Yes | Yes | Yes | Yes | 2022-07-30[4] |
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+[5] |
Markdown | Yes | Yes | No | Yes | Yes/No | Yes/No | 2004-03-19[6][7] |
Markdown Extra | Yes | Yes | Yes[8] | Yes | Yes | Yes | 2013-04-11[9] |
MediaWiki | Yes | Yes | Yes | Yes | Yes | Yes | 2002[10] |
MultiMarkdown | Yes | No | Yes | Yes | No | No | 2009-07-13 |
Org-mode | Yes | Yes[11] | Yes | Yes | Yes | Yes | 2003[12] |
PmWiki | Yes[13] | Yes | Yes | Yes | Yes | Yes | 2002-01 |
POD | Yes | ? | No | Yes | ? | ? | 1994 |
reStructuredText | Yes | Yes[11] | Yes | Yes | Yes | auto | 2002-04-02[14] |
setext | Yes | Yes | No | Yes | No | No | 1992[15] |
Slack | No | No | No | Yes | No | No | 2013+[16][17] |
TiddlyWiki | Yes | No | Yes | Yes | Yes | No | 2004-09[18] |
Textile | Yes | No | Yes | Yes | Yes | Yes | 2002-12-26[19] |
Texy | Yes | Yes | Yes | Yes | Yes | Yes | 2004[20] |
txt2tags | Yes | Yes[21] | Yes[22] | Yes | Yes/No | Yes/No | 2001-07-26[23] |
No | No | No | No | No | No | 2016-03-16[24] |
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.[25]
Comparison of implementation features
Language | Implementations | XHTML | Con/LaTeX | DocBook | ODF | EPUB | DOC(X) | LMLs | Other | License | |
---|---|---|---|---|---|---|---|---|---|---|---|
AsciiDoc | Python, Ruby, JavaScript, Java | XHTML | LaTeX | DocBook | ODF | EPUB | No | — | Man page etc. | GNU GPL, MIT | |
BBCode | Perl, PHP, C#, Python, Ruby | (X)HTML | No | No | No | No | No | No | — | — | Public Domain |
Creole | PHP, Python, Ruby, JavaScript[26] | Depends on implementation | CC_BY-SA 1.0 | ||||||||
Djot | Lua (originally), JavaScript, Prolog, Rust[3] | HTML | LaTeX, ConTeXt | DocBook | ODF | EPUB | RTF | MediaWiki, reST | Man page, S5 etc. | MIT | |
GitHub Flavored Markdown | Haskell (Pandoc) | HTML | LaTeX, ConTeXt | DocBook | ODF | EPUB | DOC | AsciiDoc, reST | OPML | GPL | |
Java,[27] JavaScript,[28][29][30] PHP,[31][32] Python,[33] Ruby[34] | HTML[28][29][30][32][33] | No | No | No | No | No | No | — | — | Proprietary | |
Markdown | Perl (originally), C,[35][36] Python,[37] JavaScript, Haskell,[11] Ruby,[38] C#, Java, PHP | HTML | LaTeX, ConTeXt | 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 | — | — | BSD-style & GPL (both) |
MediaWiki | Perl, PHP, Haskell, Python | XHTML | No | No | No | No | No | No | — | — | GNU GPL |
MultiMarkdown | C, Perl | (X)HTML | LaTeX | No | ODF | No | DOC, RTF | — | OPML | GPL, MIT | |
Org-mode | Emacs Lisp, Ruby (parser only), Perl, OCaml | XHTML | LaTeX | DocBook | ODF | EPUB[39] | DOCX[39] | Markdown | TXT, XOXO, iCalendar, Texinfo, man, contrib: groff, s5, deck.js, Confluence Wiki Markup,[40] TaskJuggler, RSS, FreeMind | GPL | |
PmWiki | PHP | XHTML 1.0 Transitional, HTML5 | No | PDF export addons | No | No | EPUB export addon | No | — | — | GNU GPL |
POD | Perl | (X)HTML, XML | LaTeX | DocBook | No | No | RTF | — | Man page, plain text | Artistic License, Perl's license | |
reStructuredText | Python,[41][42] Haskell (Pandoc), Java, | HTML, XML | LaTeX | DocBook | ODF | EPUB | DOC | — | 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 | Zdroj:https://en.wikipedia.org?pojem=Lightweight_markup_language