Mr. Stradivarius (talk | contribs) →h1, h2, h3, h4, h5, h6: use {{nowrap}} |
→Parser and extension tags: the ref and nowiki tags also function as void tags |
||
Line 802: | Line 802: | ||
;Extension tags :{{xtag|categorytree}}, {{xtag|charinsert}}, {{xtag|hiero}}, {{xtag|imagemap}}, {{xtag|inputbox}}, {{xtag|math}}, {{xtag|poem}}, {{xtag|ref}}, {{xtag|references}}, {{xtag|score}}, {{xtag|syntaxhighlight}} (alias {{xtag|source}}), {{xtag|timeline}} |
;Extension tags :{{xtag|categorytree}}, {{xtag|charinsert}}, {{xtag|hiero}}, {{xtag|imagemap}}, {{xtag|inputbox}}, {{xtag|math}}, {{xtag|poem}}, {{xtag|ref}}, {{xtag|references}}, {{xtag|score}}, {{xtag|syntaxhighlight}} (alias {{xtag|source}}), {{xtag|timeline}} |
||
The {{xtag|ref}} tag and {{xtag|nowiki}} tag also function as [[html element#Syntax|void tag]]s. |
|||
==References== |
==References== |
Revision as of 03:41, 30 April 2014
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.
Tutorials
This help page gives only an overview of allowed markup. For further assistance and detailed specifications:
- HTML5 Introduction at w3schools.com
Attributes
HTML 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 value.
- Double attributes are discarded.
- Unsafe style attributes are discarded.
- Prepends space if there are attributes.
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.
Basic
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 and added to the page's table of contents.
Markup | Renders as |
---|---|
<h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> <h6>Heading 6</h6> |
|
Wikimarkup: surround the text with the appropriate number of equal signs. Headers formatted with wikimarkup add an [edit] link.
Markup | Renders as |
---|---|
== Heading 2 == === Heading 3 === ==== Heading 4 ==== ===== Heading 5 ===== ====== Heading 6 ====== |
|
Wiki headers use the following default CSS:
Wikimarkup | HTML | Style |
---|---|---|
= Heading = |
<h1> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.8em; font-family: Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA; |
== Heading == |
<h2> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.5em; font-family: Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA; |
=== Heading === |
<h3> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.17em; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; |
==== Heading ==== |
<h4> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; |
===== Heading ===== |
<h5> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; |
====== Heading ====== |
<h6> |
color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; |
Templates: {{fake heading}} for use in documentation
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 |
br
<br>
or <br />
inserts a line break. Both versions of the break are supported by HTML5. </br>
is invalid.
Markup | Renders as |
---|---|
HyperText<br>Markup Language |
HyperText |
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.
hr
<hr>
represents a paragraph-level thematic break and presents as a horizontal rule.
Markup | Renders as |
---|---|
<hr> |
|
Wikimarkup: use ----
Markup | Renders as |
---|---|
---- |
|
Templates: {{hr}}
comment
<!-- --> formats the enclosed text as a hidden comment.
Markup | Renders as |
---|---|
HyperText<!--Markup Language--> |
HyperText |
Formatting
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
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 |
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
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.
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 |
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> |
|
Templates: {{code}} uses <syntaxhighlight>
.
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
del
<del>...</del>
formats deleted text.
Markup | Renders as |
---|---|
<del>HyperText Markup Language</del> |
|
dfn
<dfn>...</dfn>
is used for indicating a definition.
Markup | Renders as |
---|---|
<dfn>Definition</dfn> |
Definition |
Templates: {{dfn}}
em
<em>...</em>
represents a span of text with emphatic stress.
Markup | Renders as |
---|---|
<em>HyperText Markup Language</em> |
HyperText Markup Language |
Templates: {{em}}
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 |
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 |
kbd
<kbd>...</kbd>
indicates user input such as keyboard input or voice commands.
Markup | Renders as |
---|---|
Press <kbd>Enter</kbd> |
Press Enter |
Templates:
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.
It does not highlight leading or trailing whitespace characters. To do so, use non-breaking spaces instead, e.g., using the function {{spaces}}.
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.
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:
rp, rt, ruby
<ruby>...</ruby>
marks spans of phrasing content with ruby annotations.
<rt>...</rt>
marks the ruby text component of a ruby annotation; the ruby text shows in a reduced size over top of the normal characters.
<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.
Browsers that do not support ruby characters will show the ruby text in normal size, enclosed in parentheses and after the normal content.
Markup | Renders as |
---|---|
<ruby> 東<rp>(</rp><rt>とう</rt><rp>)</rp> 京<rp>(</rp><rt>きょう</rt><rp>)</rp> </ruby> |
東 京 |
Templates:
- {{ruby}}
- {{ruby-ja}} for Japanese
- {{Ruby-zh-p}} for Chinese pinyin
- {{Ruby-zh-b}} for Chinese bopomofo
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 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}}
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
small
<small>...</small>
format small text.
Markup | Renders as |
---|---|
<small>HyperText Markup Language</small> |
HyperText Markup Language |
Templates:
- {{small}} uses
<small style="font-size:85%;">
. {{small}} is recommended over<small>
since not all browsers render small text the same.
strong
<strong>...</strong>
formats a span of text with strong importance.
Markup | Renders as |
---|---|
<strong>HyperText Markup Language</strong> |
HyperText Markup Language |
Templates: {{strong}}
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)
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)
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.
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}}
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:
wbr
<wbr>
is a word break opportunity; that is, it specifies where it would be OK to add a line-break where a word is too long, or it is perceived that the browser will break a line at the wrong place.
Markup | Renders as |
---|---|
Now is the time to become a power editor, by learning HyperText Markup Language |
Now is the time to become a power editor, by learning HyperText Markup Language |
Now is the time to become a power editor, by learning Hyper<wbr>Text Markup Language |
Now is the time to become a power editor, by learning Hyper |
As the browser window is adjusted narrower, the second example wraps between Hyper and Text.
Lists
Do not leave blank lines between items in a list unless there is a reason to do so, since this causes the MediaWiki software to interpret each item as beginning a new list.
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}}
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.
Containers
div
<div>...</div>
is a generic container for flow content that displays as a block element.
Markup | Renders as |
---|---|
HyperText <div>Markup</div> Language |
HyperText
Markup Language
|
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 |
Tables
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
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> |
| ||||
<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> |
| ||
thead, tfoot, tbody
<thead>
, <tfoot>
and <tbody>
are not supported, but are automatically generated when the page is rendered.
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.
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.
center
is used to center text elements.
<center>...</center>
(obsolete)
Markup | Renders as |
---|---|
<center>HyperText Markup Language</center> |
|
Templates: {{center}} uses CSS.
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.
rb
Formerly used to mark base text in a ruby annotation; use <rb>...</rb>
(obsolete)<ruby>
.
strike
(obsolete) formats strike-through characters; use <strike>...</strike>
<s>
instead.
Markup | Renders as |
---|---|
<strike>HyperText Markup Language</strike> |
|
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 |
Unsupported elements
These elements are not supported, but have equivalent wiki markup. Attempting to use any element not whitelisted by Sanitizer.php
will result in the markup showing as plain text.
a
<a>
is used to create links. Use the [[ ]]
wikimarkup for internal links and [ ]
for external links.
input
<input>
is used to create forms. The <inputbox>
extension tag is used to create a text box with a button.
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.
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.
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.
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>
,<score>
,<syntaxhighlight>
(alias<source>
),<timeline>
The <ref>
tag and <nowiki>
tag also function as void tags.
References
- ^ a b Allowable elements and attributes are defined in the
Sanitizer.php
module. - ^ "The microdata model". HTML Living Standard.
External links
- HTML 4.01 specification: elements | attributes