Help:HTML in wikitext: Difference between revisions

From A2wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 829: Line 829:


[[Category:A2wiki editor help]]
[[Category:A2wiki editor help]]
{{En-WP attribution notice|Help:HTML in wikitext}}

Latest revision as of 20:26, 4 December 2022

The MediaWiki software, which drives A2wiki, allows the use of a subset of HTML 5 elements, or tags and their attributes, for presentation formatting.[1] But most HTML can be included by using equivalent wiki markup or templates; these are generally preferred within articles, as they are sometimes simpler for most editors and less intrusive in the editing window; but Wikipedia's Manual of Style, which can sort of be used as a general reference even here, recommends their use in certain cases. (See Help:Wikitext for wiki equivalents to HTML tags not otherwise discussed below.) And HTML is useful outside of articles, for example for formatting within templates. For help with Cascading Style Sheet use within A2wiki see Help:Cascading Style Sheets.

Some tags look like HTML, but are actually MediaWiki parser and extension tags, and so are really wiki markup. HTML in pages can be checked for HTML5 compliance by using validation. Some elements and attributes are supported by MediaWiki and browsers, but have been deprecated by HTML 5, and therefore should no longer be used.

Tutorials[edit source]

This help page gives only an overview of allowed markup. For further assistance and detailed specifications:

Attributes[edit source]

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 A2wiki: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.
  • 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[edit source]

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[edit source]

h1, h2, h3, h4, h5, h6[edit source]

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>
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6

Wikimarkup: surround the text with the appropriate number of equal signs. Headers formatted with wikimarkup add an [edit] link. <section begin="WIKI_section" />

Markup Renders as
= Heading 1 =
== Heading 2 ==
=== Heading 3 ===
==== Heading 4 ====
===== Heading 5 =====
====== Heading 6 ======
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6

<section end="WIKI_section" />

Templates: {{fake heading}} for use in documentation

p[edit source]

<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

<p>...</p> is especially useful in lists, for list items with multiple paragraphs:

Markup Renders as
* <p>This is a paragraph.</p><p>This is another paragraph in the same item.</p>
* This is a different item.
  • This is a paragraph.

    This is another paragraph in the same item.

  • This is a different item.

Note that the closing tag </p> is not strictly necessary for MediaWiki installations that output HTML 5 (such as Wikipedia).

br[edit source]

<br> or <br /> inserts a line break. Both versions of the break are supported by HTML5. Using <br> without the / breaks syntax highlighting, so should be avoided. </br> is invalid.

Markup Renders as
HyperText<br />Markup Language

HyperText
Markup Language

Templates:

  • {{break}} adds multiple line breaks.
  • {{crlf2}} adds a true carriage return and line feed.
  • {{clear}} adds a break with styling to clear floating elements.
  • {{plainlist}} creates an unbulleted list.

hr[edit source]

<hr> or <hr /> represents a paragraph-level thematic break and presents as a horizontal rule.

Markup Renders as
<hr />

Wikimarkup: use ----

Markup Renders as
----


Templates: {{hr}}

Comments[edit source]

<!--...--> formats the enclosed text as a hidden comment.

Markup Renders as
HyperText<!--Markup Language-->

HyperText

Be careful with spacing around comments. Surrounding a comment with blank lines will result in a blank paragraph, perceived as an extra two blank lines:

Markup Renders as
Content line 1

<!-- Comment -->

Content line 2

Content line 1


Content line 2

Formatting[edit source]

abbr[edit source]

<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

Templates: {{abbr}}

b[edit source]

<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[edit source]

<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

bdo[edit source]

<bdo>...</bdo> specifies the text direction.

Attributes and values:

  • dir – Specifies the text direction.
    • ltr
    • rtl
Markup Renders as
<bdo dir="rtl">HyperText Markup Language</bdo>

HyperText Markup Language

blockquote[edit source]

<blockquote>...</blockquote> presents text in an offset block.

Markup Renders as
<blockquote>HyperText Markup Language</blockquote>

HyperText Markup Language

Templates: {{quote}}; supports pre-formatted attribution and source parameters. For other specialized quotation templates, see Category:Quotation templates.

cite[edit source]

<cite>...</cite> contains the title of a work. 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. No formatting is applied when this tag is used.

Markup Renders as
<cite>HyperText Markup Language</cite>

HyperText Markup Language


code[edit source]

<code>...</code> formats a section of computer code. Styled with CSS through mediawiki.skinning/elements.less as a monospaced typeface with a grey background and border.

Markup Renders as
<code>HyperText Markup Language</code>

HyperText Markup Language

Templates: {{code}} uses <syntaxhighlight>. See the "See also" section at the template page for additional code-markup templates.

See § samp and § kbd on this page for semantic markup of output and input, respectively.

data[edit source]

<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[edit source]

<del>...</del> formats deleted text.

Markup Renders as
<del>HyperText Markup Language</del>

HyperText Markup Language

dfn[edit source]

<dfn>...</dfn> is used for indicating the defining instance of a term.

Markup Renders as
<dfn>Definition</dfn>

Definition

Templates: {{dfn}}

em[edit source]

<em>...</em> represents a span of text with emphatic stress (i.e. semantic emphasis). In most browsers, it renders as italic.

Markup Renders as
<em>HyperText Markup Language</em>

HyperText Markup Language

Templates: {{em}}

i[edit source]

<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[edit source]

<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[edit source]

<kbd>...</kbd> indicates user input such as keyboard input or voice commands.

Markup Renders as
Press <kbd>Enter</kbd>

Press Enter

Templates:

  • {{kbd}} applies monospace styling, and a light-grey background to distinguish from code (<code>) and output (<samp> or {{samp}}).
  • {{key press}} renders illustrated keys and keystrokes.

mark[edit source]

<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.

pre[edit source]

<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. It also prevents the parsing of templates.

Markup Renders as
<pre>HyperText Markup Language</pre>
HyperText Markup Language
HTML entities[edit source]

<pre> parses HTML entities. If you want to escape this, replace & with &amp;, or use <syntaxhighlight lang="text"> instead.

Markup Renders as
<pre>&amp;</pre>
&
<pre>&lt;</pre>
<
<pre>&amp;amp;</pre>
&amp;
<pre>&amp;lt;</pre>
&lt;

Templates:

  • {{pre}} wraps text that overflows the page.

q[edit source]

<q>...</q> is used to mark a short quotation.

Markup Renders as
<q>HyperText Markup Language</q>

HyperText Markup Language


rp, rt, ruby[edit source]

<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:

s[edit source]

<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>

HyperText Markup Language

Templates: {{strikethrough}}

samp[edit source]

<samp>...</samp> indicates sample output from a program or computing system. Examples include: output of a program, script, or Wikipedia template; status displays or audio announcements made by an app or device; file system directory listings and samples from them, such as paths and file names.

Markup Renders as
<samp>HyperText Markup Language</samp>

HyperText Markup Language

Templates: {{samp}} applies monospace styling, and gives the text in dark grey to distinguish from code (<code>) and input (<kbd> or {{kbd}}).

small[edit source]

<small>...</small> format small text.

Markup Renders as
<small>HyperText Markup Language</small>

HyperText Markup Language

Templates:

  • {{small}} uses <span style="font-size:85%;">. {{small}} is recommended over <small> since <small>...</small> has a semantic meaning that is for fine print, whereas {{small}} is purely stylistic.

strong[edit source]

<strong>...</strong> formats a span of text with strong importance or unusual emphasis; in most browsers it renders as boldface.

Markup Renders as
<strong>HyperText Markup Language</strong>

HyperText Markup Language

Templates: {{strong}}

sub[edit source]

<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[edit source]

<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[edit source]

<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[edit source]

<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[edit source]

<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>E</var>=<var>m</var>c<sup>2</sup> (c is a constant not a variable)
*<code><nowiki>{{</nowiki><var>TemplateName</var>|<var>parameter</var>=<var>value</var><nowiki>}}</nowiki></code>
*If <var>A</var> then <var>B</var>
  • E=mc2 (c is a constant not a variable)
  • {{TemplateName|parameter=value}}
  • If A then B

Templates:

  • {{var}}
  • {{varserif}} formatted in italic serif to differentiate characters

wbr[edit source]

<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 HyperText Markup Language

As the browser window is adjusted narrower, the second example wraps between Hyper and Text.

Lists[edit source]

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[edit source]

<dl>...</dl>, <dt>...</dt> and <dd>...</dd> are used to create a description list (formerly definition list) with terms and descriptions. Terms are displayed in bold and descriptions are indented. Each term must include one or more descriptions.

Markup Renders as
<dl>
<dt>Term</dt>
<dd>Definition 1</dd>
<dd>Definition 2</dd>
</dl>
Term
Definition 1
Definition 2

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
: Definition 1
: Definition 2
Term
Definition 1
Definition 2

Templates: {{defn}}

ol, ul, li[edit source]

<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>Item 1</li>
<li>Item 2</li>
</ol>
  1. Item 1
  2. Item 2
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
  • Item 1
  • Item 2

Wikimarkup: use * for items in an unordered list and # for ordered lists.

Markup Renders as
# Item 1
# Item 2

  1. Item 1
  2. Item 2
* Item 1
* Item 2

  • Item 1
  • Item 2

Templates: for a variety of specialized uses, see Category:List formatting and function templates.

Containers[edit source]

div[edit source]

<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[edit source]

<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[edit source]

table, td, tr[edit source]

<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>
data data

Attributes:

  • <table>:
    Allowed but not recommended: border="" and border="1"
    Allowed but obsolete: border (with a non-empty value different from "1"), align, bgcolor, cellpadding, cellspacing, frame, rules, summary, width[3]
  • <td>: colspan, headers, rowspan
    Allowed but obsolete: abbr, align, axis, bgcolor, scope, height, nowrap, valign, width[3]

th[edit source]

<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>
Header Header
data data

Attributes:

  • <th>: colspan, headers, rowspan, scope
    Allowed but obsolete: abbr, align, axis, bgcolor, height, nowrap, valign, width[3]

caption[edit source]

<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>
Caption
data data

Attributes:

  • <caption>:
    Allowed but obsolete: align[3]

thead, tfoot, tbody[edit source]

<thead>, <tfoot> and <tbody> are not supported, but are automatically generated when the page is rendered.

Obsolete/deprecated elements[edit source]

These elements are now obsolete and either deprecated or removed in HTML5, but still supported by browsers.[3] These tags either have an alternate tag or a template that replaces their function with CSS. See Wikipedia:HTML5 § Obsolete elements and attributes for more details on obsolete HTML parts and their replacements.

center[edit source]

<center>...</center> (obsolete) is used to center text elements.

Templates: {{center}} uses CSS.

font[edit source]

<font>...</font> (obsolete) is used to set the font size, font face and color of text.

Templates: {{font}} uses CSS.

rb[edit source]

<rb>...</rb> (obsolete) Used to mark base text in a ruby annotation

For replacements, see: Help:HTML in wikitext#rp, rt, ruby

strike[edit source]

<strike>...</strike> (obsolete) formats strike-through characters; use <s> instead.

tt[edit source]

<tt>...</tt> (obsolete) formats text in a fixed-width font. Use <code>, <kbd> or <samp> instead.

Templates: {{mono}} uses CSS.

Unsupported elements[edit source]

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[edit source]

<a> is used to create links. Use the [[ ]] wikimarkup for internal/intrawiki links and interwiki links, and [ ] for external links.

input[edit source]

<input> is used to create forms. The <inputbox> extension tag is used to create a text box with a button.

HTML Tidy[edit source]

HTML Tidy is an outdated HTML4 library that is slated for removal. Tidy parses the MediaWiki output and cleans it up to increase the likelihood that valid HTML4 is rendered. For example, with Tidy enabled, <br>, </br>, <br/>, <br.> all rendered as <br />. Tidy is not enabled for MediaWiki interface pages. Tidy was never perfect and has been known to introduce errors.

Exceptions[edit source]

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 JavaScript pages are interpreted as if inside a <pre> block. See Help:User style.

Validation[edit source]

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[edit source]

{{#section:Template:Xtag/doc|xtag}}

See also[edit source]

References[edit source]

  1. 1.0 1.1 Allowable elements and attributes are defined in the Sanitizer.php module.
  2. "The microdata model". HTML Living Standard.
  3. 3.0 3.1 3.2 3.3 3.4 "HTML5: A vocabulary and associated APIs for HTML and XHTML: Obsolete Features". W3C. 31 July 2014.

External links[edit source]

This article uses material from the Wikipedia article Help:HTML in wikitext, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License (view authors). Wikipedia logo