Jump to content

Comparison of lightweight markup languages: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Renewing merge proposal, specifying merge into different article.
Line 1: Line 1:
{{Mergefrom|List of lightweight markup languages|date=July 2007}}
{{| markup |date= 2007}}


{{Cleanup|date=November 2006}}
{{Cleanup|date=November 2006}}

Revision as of 08:43, 4 December 2007

This article provides a basic feature comparison for several lightweight markup languages. See list of lightweight markup languages for relevant links.

Comparison of Syntax

Text/font-face formatting

Comparing text formatting syntax
Language Bold Italic Monospace (teletype) Notes
Almost Free Text _bold text_ ''italic text'' |monospace text| Formatting will not occur across line breaks unless the first formatting character is the first character on the line.
BBCode [b]bold text[/b] [i]italic text[/i] [code]monospace text[/code] Formatting works across line breaks.
Markdown **bold text**

or
__bold text__

*italic text*

or
_italic text_

Non-monospace text

    monospace text
    more monospace text
Inline `monospaced` text.

Markdown doesn't use bold and italic tags, but rather em (typically italic) and strong (typically bold) tags.

Monospace text is created by indenting that line 4 spaces or one tab character, or enclosing text in backticks: `monospaces`.

o7aCode '''bold text''' ''italic text'' °°°

monospace text
monospace text
°°°

o7aCode uses em (typically italic) and strong (typically bold) tags.

All attributes of all markups can be filled in.
Monospace text can be colored up by GeSHi.

POD B<bold text> I<italic text> C<monospace text> Indented text is also shown as monospaced code.
reStructuredText **bold text** *italic text* ``monospace text``
Textile *bold text*

or
**bold text**

_italic text_

or
__italic text__

@monospace text@ Textile uses em (typically italic) and strong (typically bold) tags

on single symbols, and i and b tags on double symbols.

Texy! **bold text** *italic text*
or

//italic text//

`monospace text` Texy uses by default em (typically italic) and strong (typically bold) tags. It is possible to configure library to use another tags.
txt2tags **bold text** //italic text// ``monospace text``
MediaWiki '''bold text''' ''italic text'' <code>monospace text</code>

Section headers

Comparing section header formatting
Language Format Notes
Almost Free Text * Level 1 Header

** Level 2 Header

Up to 4 levels
BBCode Does not support section headers
Markdown # Level 1 Header

## Level 2 Header
or
Level 1 Header
==============

Level 2 Header
--------------

You can optionally "close" the #-style headers with an equal number of #'s. The #-style headers support up to 6 levels. The = and - style headers support only the two shown.
o7aCode = Level 3 Header =

== Level 4 Header ==

The title first level can be set (by default : 3).
POD =head1 Level 1 heading

=head2 Level 2 heading

reStructuredText Chapter 1 Title

===============

Section 1.1 Title
-----------------

Subsection 1.1.1 Title
~~~~~~~~~~~~~~~~~~~~~~

Section 1.2 Title
-----------------

Chapter 2 Title
===============

Any of the following characters can be used as the "underline": = - ` : ' " ~ ^ _ * + # < >. The same character must be used for the same indentation level and may not be used for a new indentation level.
Textile h1. Level 1 Header

h2. Level 2 Header

Up to 6 levels
Texy! ### Level 1 Header

## Level 2 Header
or
Level 1 Header
==============

Level 2 Header
--------------

You can optionally "close" the #-style headers with an equal number of #'s. The #-style headers support up to 6 levels. The underlined style headers support four levels (### *** === ----). Real levels are calculated dynamically.
txt2tags = Level 1 Header =

== Level 2 Header ==
=== Level 3 Header ===

Using + characters instead of = characters creates numbered headers (the default being unnumbered).
MediaWiki == Level 2 Header ==

=== Level 3 Header ===

= is available for level 1 header, but its use is discouraged in Wikipedia (reserved for page title). More = are possible, up to 6.
Comparing link syntax
Language Syntax Notes
Almost Free Text [Link text (http://www.example.com)] Also has support for targeting references within the same text, not just URLs.
BBCode [url]http://www.example.com[/url]

[url=http://www.example.com]Link text[/url]

Some BBCode implementations can auto-parse URLs as well and convert them to a elements.
Markdown [Link text](http://www.example.com "optional title attribute")

or
[Link text][id]
and elsewhere
[id]: http://www.example.com "optional title attribute"

Allows for an optional title attribute.
o7aCode [http://o7aCode.net/ :: official website of o7aCode :: en]o7aCode[/]

[http://o7aCode.net/]o7aCode[/]
[]http://o7aCode.net/[/]
[http://o7aCode.net/ ;; id = id_for_the_link :: official website]o7aCode[/]
[wp]Lightweight markup language[/]
...

All attributes can be filled in (href, title, lang ...).

The last example allows to make a link to a wikipedia article.

POD L</Internal Link>

L<Perl::Module::Link>
L<http://example.com/external_link>

The core POD standard does not support external links with titles.
reStructuredText `Link text <http://www.example.com/>`_ Can also be done in a non-embedded format which may be seen as more readable.
Textile "Link text (optional title attribute)":http://www.example.com

or
"Link text":alias
and elsewhere
[alias (optional title attribute)]http://www.example.com

Allows for an optional title attribute.
Texy! "Link text .(optional title)[opt. class or ID]{opt. style}":http://www.example.com

or
"Link text":alias
and elsewhere
[alias]: http://www.example.com .(optional title)[opt. class or ID]{opt. style}

Texy! modifiers allows for an optional title attribute, CSS classes, ID, inline style and HTML element attributes. Example: "Link .(title)[class#id]{color: blue;rel:nofollow}"
txt2tags [[Link text www.example.com]]
MediaWiki [[Internal page]]

[[Internal page|Displayed text]]
[http://www.example.com]
[http://www.example.com External link]

Wikitext can auto-parse URLs as well and convert them to a elements.

Comparison of language features

A lot of this was taken from http://bluebones.net/2005/02/humane-text-formats/

Comparing language features
Language HTML export tool HTML import tool Tables Link titles class attribute id attribute Exportable formats License
Almost Free Text Yes No No No No No HTML, LaTeX, lout, DocBook, RTF Clarified Artistic License
BBCode No No No No No No ? ?
Markdown Yes Yes No Yes No No XHTML BSD-style & GPL (both)
o7aCode Yes Yes No Yes Yes Yes XHTML HTML ... ?
POD ? ? ? ? ? ? ? ?
reStructuredText Yes No Yes No Yes auto Latex, XML, PseudoXML, HTML Python License
Textile Yes No Yes Yes Yes Yes XHTML Textile License
Texy! Yes Yes Yes Yes Yes Yes XHTML or HTML (always valid wellformed code) GNU GPL v2 License
txt2tags Yes ? Yes Yes ? ? HTML, XHTML, SGML, LaTeX, Lout, UNIX man, MoinMoin, MagicPoint, PageMaker GPL
MediaWiki Yes Yes Yes Yes Yes Yes ? GNU GPL