Help:HTML in wikitext
![]() |
This page is a how-to guide detailing a practice or process on the English Wikipedia.
|
Wiki markup |
---|
The MediaWiki software allows use of a subset of HTML5 markup elements or tags and their attributes for presentation formatting.[1] Many HTML tags may also be included by equivalent wiki markup or templates which are simpler for most editors and less intrusive in the editing window. In normal practice, wiki markup or templates are preferred within articles, but HTML is quite useful for formatting within templates.
Contents[hide] |
[edit] Tutorials
This help page gives only an overview of allowed markup. For further assistance and detailed specifications:
- HTML5 Introduction at w3schools.com
[edit] Attributes
Attributes provide additional information about an element and are always specified in the start tag. They are formatted as a name/value pair like name="value"
.
Global attributes apply to all tags. Attributes not listed here are not allowed by MediaWiki[1]:
class
: one or more classifications to which the element belongs. See Wikipedia:Catalogue of CSS classes.dir
: text direction— "ltr
" (left-to-right), "rtl
" (right-to-left) or "auto
".id
: unique identifier for the element.lang
: primary language for the contents of the element per BCP 47. The MediaWiki software automatically adds thexml:lang
attribute wheneverlang
is defined, butxml:lang
will no longer be passed when included as a separate attribute.style
: applies CSS styling to the contents of the element.title
: advisory information associated with the element.
HTML5 microdata attributes apply to all tags:[2]
- Any attribute beginning with
data-
itemid
itemprop
itemref
itemscope
itemtype
Other tags such as <table>
support specific attributes— these are listed in the appropriate section.
Markup | Renders as |
---|---|
This is <span style="color:red">red</span> text. |
This is red text. |
The MediaWiki Sanitizer.php
does some cleanup on attributes. A best practice is to use the proper syntax.
- Discards attributes not on a whitelist for the given element.
- Turns broken or invalid entities into plaintext.
- Double-quotes all attribute values.
- Attributes without values are given the name as attribute.
- Double attributes are discarded.
- Unsafe style attributes are discarded.
- Prepends space if there are attributes.
[edit] Elements
These HTML elements are supported by the MediaWiki software. This section gives a brief overview of the HTML element, an example, relevant wikimarkup and templates.
[edit] Basic
[edit] h1, h2, h3, h4, h5, h6
The <h1>...</h1>
through <h6>...</h6>
tags are headings for the sections with which they are associated. <h1>
is used for the article title. Headings are styled through CSS.
Markup | Renders as |
---|---|
<h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> <h6>Heading 6</h6> |
Heading 2
Heading 3
Heading 4 Heading 5 Heading 6 |
Wikimarkup: Headers formatted with wikimarkup add an [edit] link.
Tag | Wikimarkup | Style |
---|---|---|
<h1> |
=heading= |
font size 188%; bottom border |
<h2> |
==heading== |
font size 150%; bottom border |
<h3> |
====heading==== |
font size 132%; bold |
<h4> |
=====heading===== |
font size 116%; bold |
<h5> |
======heading====== |
font size 100%; bold |
<h6> |
========heading======== |
font size 80%; bold |
Templates: {{fake heading}} for use in documentation
[edit] p
<p>...</p>
tag places content into a separate paragraph.
Markup | Renders as |
---|---|
<p>HyperText Markup Language</p><p>HyperText Markup Language</p> |
HyperText Markup Language HyperText Markup Language |
Wikimarkup: Separate paragraphs by a single blank line.
Markup | Renders as |
---|---|
HyperText Markup Language HyperText Markup Language |
HyperText Markup Language
HyperText Markup Language |
[edit] br
<br>
or <br />
inserts a line break. Both versions of the break are supported by HTML5.
Markup | Renders as |
---|---|
HyperText<br>Markup Language |
HyperText Markup Language |
Wikimarkup: two new lines will insert one break.
Templates:
- {{break}} adds multiple line breaks.
- {{crlf2}} adds adds a true carriage return and line feed.
- {{-}} adds a break with styling to clear floating elements.
- {{plainlist}} creates an unbulleted list.
[edit] hr
<hr>
represents a paragraph-level thematic break and presents as a horizontal rule.
Markup | Renders as |
---|---|
<hr> |
|
Wikimarkup: use ----
Markup | Renders as |
---|---|
---- |
|
[edit] comment
<!-- --> formats the enclosed text as a hidden comment.
Markup | Renders as |
---|---|
HyperText<!--Markup Language--> |
HyperText |
[edit] Formatting
[edit] abbr
<abbr>...</abbr>
creates a tooltip to define an abbreviation or acronym that is displayed on mouse-over.
Markup | Renders as |
---|---|
<abbr title="HyperText Markup Language">HTML</abbr> |
HTML |
Support: not supported by IE6 or IE7.
Templates: {{abbr}}; supports Unicode display
[edit] b
<b>...</b>
formats text stylistically offset from other text (bold) without conveying extra importance.
Markup | Renders as |
---|---|
<b>HyperText Markup Language</b> |
HyperText Markup Language |
Wikimarkup: Use '''
to open and close bold text.
Markup | Renders as |
---|---|
'''HyperText Markup Language''' |
HyperText Markup Language |
[edit] bdi
<bdi>...</bdi>
isolates the content from the surrounding text-direction settings.
Markup | Renders as |
---|---|
اليمين إلى اليسارleft to right |
اليمين إلى اليسارleft to right |
اليمين إلى اليسار<bdi>left to right</bdi> |
اليمين إلى اليسارleft to right |
Support: Firefox, Chrome
[edit] blockquote
<blockquote>...</blockquote>
presents text in an offset block.
Markup | Renders as |
---|---|
<blockquote>HyperText Markup Language</blockquote> |
|
Templates: {{quote}}; supports pre-formatted attribution and source parameters. For other specialized quotation templates, see Category:Quotation templates.
[edit] cite
<cite>...</cite>
contains the title of a work and by default is formatted in italics. This is a new definition in HTML5— in the previous XML implementation <cite>
was used to contain a citation or a reference to other sources.
Markup | Renders as |
---|---|
<cite>HyperText Markup Language</cite> |
HyperText Markup Language |
[edit] code
<code>...</code>
formats a section of computer code. MediaWiki applies CSS styling to display <code>
in a monospace font.
Markup | Renders as |
---|---|
<code>HyperText Markup Language</code> |
HyperText Markup Language |
Templates: {{code}} uses <syntaxhighlight>
.
[edit] data
<data>...</data>
formats a machine-readable version of contents.
Markup | Renders as |
---|---|
<data value="978-0764502149">HTML for Dummies</data> |
HTML for Dummies |
Attributes: value
[edit] del
<del>...</del>
formats deleted text.
Markup | Renders as |
---|---|
<del>HyperText Markup Language</del> |
|
[edit] dfn
<dfn>...</dfn>
is used for indicating a definition.
Markup | Renders as |
---|---|
<dfn>Definition</dfn> |
Definition |
Templates: {{dfn}}
[edit] em
<em>...</em>
represents a span of text with emphatic stress.
Markup | Renders as |
---|---|
<em>HyperText Markup Language</em> |
HyperText Markup Language |
Templates: {{em}}
[edit] i
<i>...</i>
represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is italic text.
Markup | Renders as |
---|---|
<i>HyperText Markup Language</i> |
HyperText Markup Language |
Wikimarkup: Use ''
to open and close italic text.
Markup | Renders as |
---|---|
''HyperText Markup Language'' |
HyperText Markup Language |
[edit] ins
<ins>...</ins>
indicates a range of text that has been added. Styled as underlined text. Used on talk pages to indicate refactored text; see WP:REDACT.
Markup | Renders as |
---|---|
<ins>HyperText Markup Language</ins> |
HyperText Markup Language |
[edit] kbd
<kbd>...</kbd>
indicates user input such as keyboard input or voice commands.
Markup | Renders as |
---|---|
Press <kbd>Enter</kbd> |
Press Enter |
Templates:
[edit] mark
<mark>...</mark>
represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. Marked text is formatted with a yellow background by default.
Markup | Renders as |
---|---|
<mark>HyperText Markup Language</mark> |
HyperText Markup Language |
<mark style="background:lightblue">HyperText Markup Language</mark> |
HyperText Markup Language |
Support: Not supported by Internet Explorer 8 and below.
[edit] pre
<pre>...</pre>
element represents a block of preformatted text. In MediaWiki, <pre>
is actually a parser tag and not HTML, but the function is the same.
Markup | Renders as |
---|---|
<pre>HyperText Markup Language</pre> |
HyperText Markup Language |
HTML entities
<pre>
parses HTML entities. If you want to escape this, replace &
with &
.
Markup | Renders as |
---|---|
<pre>&</pre> |
& |
<pre><</pre> |
< |
<pre>&amp;</pre> |
& |
<pre>&lt;</pre> |
< |
Templates:
[edit] rp, rt, ruby
<ruby>...</ruby>
marks spans of phrasing content with ruby annotations.
<rt>...</rt>
marks the ruby text component of a ruby annotation.
<rp>...</rp>
is used to provide parentheses around a ruby text component of a ruby annotation, to be shown by user agents that don’t support ruby annotations.
Markup | Renders as |
---|---|
<ruby> 東<rp>(</rp><rt>とう</rt><rp>)</rp> 京<rp>(</rp><rt>きょう</rt><rp>)</rp> </ruby> |
東 京 |
[edit] s
<s>...</s>
is used to indicate content that is no longer accurate or relevant and that has been struck from the page. It is not not appropriate when indicating document edits; to mark a span of text as having been removed from a document, use <del>
.
Markup | Renders as |
---|---|
<s>HyperText Markup Language</s> |
|
Templates: {{strikethrough}}
[edit] samp
<samp>...</samp>
indicates output from a program or computing system.
Markup | Renders as |
---|---|
<samp>HyperText Markup Language</samp> |
HyperText Markup Language |
Templates: {{samp}} applies gray styling
[edit] small
<small>...</small>
format small text.
Markup | Renders as |
---|---|
<small>HyperText Markup Language</small> |
HyperText Markup Language |
[edit] strong
<strong>...</strong>
formats a span of text with strong importance.
Markup | Renders as |
---|---|
<strong>HyperText Markup Language</strong> |
HyperText Markup Language |
Templates: {{strong}}
[edit] sub
<sub>...</sub>
formats a span of text as a subscript.
Markup | Renders as |
---|---|
HyperText <sub>Markup Language</sub> |
HyperText Markup Language |
Templates:
- {{sub}} (subscript text)
- {{subsub}} (subscript subscript text)
- {{ssub}} (subscript, small text)
- {{sup}} (superscript text)
- {{su}} (superscript
subscript text) - {{sup sub}} (textsup
sub) - {{e}} (1.23×104)
[edit] sup
<sup>...</sup>
formats a span of text as a superscript.
Markup | Renders as |
---|---|
HyperText <sup>Markup Language</sup> |
HyperText Markup Language |
Templates:
- {{sub}} (subscript text)
- {{subsub}} (subscript subscript text)
- {{ssub}} (subscript, small text)
- {{sup}} (superscript text)
- {{su}} (superscript
subscript text) - {{sup sub}} (textsup
sub) - {{e}} (1.23×104)
[edit] time
<time>...</time>
defines either a time (24 hour clock), or a date in the Gregorian calendar, optionally with a time and a time-zone offset.
Markup | Renders as |
---|---|
<time>10:00</time> |
|
Attributes: datetime
Support: Not supported by Internet Explorer 8 and below.
[edit] u
<u>...</u>
represents a span of text offset from its surrounding content without conveying any extra emphasis or importance, and for which the conventional typographic presentation is underlining; for example, a span of text in Chinese that is a proper name (a Chinese proper name mark), or span of text that is known to be misspelled.
Markup | Renders as |
---|---|
<u>HyperText Markup Language</u> |
HyperText Markup Language |
Templates: {{underline}}
[edit] var
<var>...</var>
formats text in italics to indicate a variable in a mathematical expression or programming context, or placeholder text that the reader is meant to mentally replace with some other literal value.
Markup | Renders as |
---|---|
<var>HyperText Markup Language</var> |
HyperText Markup Language |
Templates:
[edit] Lists
Do not leave blank lines between items in a unless there is a reason to do so, since this causes the MediaWiki software to interpret each item as beginning a new list.
[edit] dl, dt, dd
<dl>...</dl>
, <dt>...</dt>
and <dd>...</dd>
are used to create a definition list of group names corresponding to values. Group names are in bold and values are indented. Each group must include one or more definitions.
Markup | Renders as |
---|---|
<dl> <dt> Term <dd> Definition1 <dd> Definition2 <dd> Definition3 <dd> Definition4 </dl> |
|
Wikimarkup: <dt>
is created using ;
while automatically enclosed in <dl>...</dl>
. <dd>
is created using :
for each value. For a single or first value the :
can be placed on the same line after ;
where subsequent values must be placed on separate lines.
Markup | Renders as |
---|---|
;Term :Definition1 :Definition2 :Definition3 :Definition4 |
|
Templates: {{defn}}
[edit] ol, ul, li
<ol>...</ol>
represents an ordered list; <ul>...</ul>
represents an unordered list; <li>...</li>
represents a list item within either type of list.
Markup | Renders as |
---|---|
<ol> <li>Item1</li> <li>Item2</li> <li>Item3</li> <li>Item4</li> </ol> |
|
<ul> <li>Item1</li> <li>Item2</li> <li>Item3</li> <li>Item4</li> </ul> |
|
Wikimarkup: use *
for items in an unordered list and #
for ordered lists.
Markup | Renders as |
---|---|
# Item1 # Item2 # Item3 # Item4 |
|
* Item1 * Item2 * Item3 * Item4 |
|
Templates: for a variety of specialized uses, see Category:Wikipedia list formatting templates.
[edit] Containers
[edit] div
<div>...</div>
is a a generic container for flow content that displays as a block element.
Markup | Renders as |
---|---|
HyperText <div>Markup</div> Language |
HyperText
Markup
Language |
[edit] span
<span>...</span>
is a container for flow content that displays as an inline element.
Markup | Renders as |
---|---|
HyperText <span>Markup</span> Language |
HyperText Markup Language |
[edit] Tables
[edit] table, td, tr
<table>...</table>
defines a table.
<tr>...</tr>
defines a table row.
<td>...</td>
defines a data cell with contents that may include text, links, images, lists, forms, other tables, etc.
Markup | Renders as |
||
---|---|---|---|
<table border=1> <tr> <td>data</td> <td>data</td> </tr> </table> |
|
||
Attributes:
<table>
:border
<td>
:headers
,rowspan
,colspan
- The
scope
attribute is allowed only when using the table header wikimarkup (!
). - Allowed but obsolete or unsupported:
abbr
,axis
,align
,charoff
,char
,valign
[edit] th
<th>...</th>
defines a table header; styled as centered and bold.
Markup | Renders as |
||||
---|---|---|---|---|---|
<table border="1"> <tr> <th>Header</th> <th>Header</th> </tr> <tr> <td>data</td> <td>data</td> </tr> </table> |
|
||||
[edit] caption
<caption>...</caption>
adds a caption to a table.
Markup | Renders as |
||
---|---|---|---|
<table border=1> <caption>Caption</caption> <tr> <td>data</td> <td>data</td> </tr> </table> |
|
||
[edit] thead, tfoot, tbody
<thead>
, <tfoot>
and <tbody>
are not supported, but are automatically generated when the page is rendered.
[edit] Obsolete elements
These elements are now obsolete in HTML5, but still supported by browsers. These tags either have an alternate tag or a template that replaces their function with CSS.
[edit] big
formats text in a larger font size.<big>...</big>
(obsolete)
Markup | Renders as |
---|---|
<big>HyperText Markup Language</big> |
HyperText Markup Language |
Templates: {{big}} uses CSS.
[edit] center
is used to center text elements.<center>...</center>
(obsolete)
Markup | Renders as |
---|---|
<center>HyperText Markup Language</center> |
|
Templates: {{center}} uses CSS.
[edit] font
is used to set the font size, font face and color of text.<font>...</font>
(obsolete)
Markup | Renders as |
---|---|
<font size="3" face="verdana" color="green">HyperText Markup Language</font> |
HyperText Markup Language |
Templates: {{font}} uses CSS.
[edit] rb
Formerly used to mark base text in a ruby annotation; use <rb>...</rb>
(obsolete)<ruby>
.
[edit] strike
(obsolete) formats strike-through characters; use <strike>...</strike>
<s>
instead.
Markup | Renders as |
---|---|
<strike>HyperText Markup Language</strike> |
|
[edit] tt
formats text in a fixed-width font. Use <tt>...</tt>
(obsolete)<code>
, <kbd>
, <samp>
or <var>
instead.
Markup | Renders as |
---|---|
<tt>HyperText Markup Language</tt> |
HyperText Markup Language |
[edit] Unsupported elements
These elements are not supported, but have equivalent wiki markup.
[edit] a
<a>
is used to create links. Use the [[ ]]
wikimarkup for internal links and [ ]
for external links.
[edit] input
<input>
is used to create forms. The <inputbox>
extension tag is used to create a text box with a button.
[edit] HTML Tidy
HTML Tidy is enabled for the English Wikipedia. Tidy parses the MediaWiki output and cleans it up to ensure that valid HTML is rendered. For example, <br>
, </br>
, <br/>
, <br.>
will all render as <br />
. Tidy is not enabled for MediaWiki interface pages. Tidy is not perfect, and has been known to introduce errors.
[edit] Exceptions
In some pages in the MediaWiki namespace (typically the short messages like button labels) HTML is not parsed and tags will be exposed.
User and sitewide CSS and JS pages (see Help:User style) are interpreted as if inside a <pre>
block.
[edit] Validation
The MediaWiki software attempts to fix HTML errors, but it does not catch all of them. Where HTML is used, it is helpful to verify it with the W3C Markup Validation Service.
[edit] Parser and extension tags
The MediaWiki software adds elements that look and act like HTML tags. Parser tags are included in MediaWiki whereas extension tags are added by optional software extensions. Installed tags are listed at Special:Version.
- Extension tags
<categorytree>
,<charinsert>
,<hiero>
,<imagemap>
,<inputbox>
,<math>
,<poem>
,<ref>
,<references>
,<syntaxhighlight>
(alias<source>
),<timeline>
[edit] References
- ^ a b Allowable elements and attributes are defined in the
Sanitizer.php
module. - ^ "The microdata model". HTML Living Standard.
[edit] External links
- HTML 4.01 specification: elements | attributes
- For customizing the handling of HTML in MediaWiki, see the HTML and Tidy sections in mw:Manual:Configuration settings
- Some extensions allow adding arbitrary HTML to a page, for example mw:Extension:AddHTML, mw:Extension:SecureHTML and mw:Extension:Secure HTML; see $wgRawHtml for a more complete list
- Within the MediaWiki codebase, these HTML checks happen in includes/Sanitizer.php
|