Extension:HTML Tags

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
HTML Tags

Release status: beta

Implementation Tag
Description Defines a tag, <htmltag>, that allows for placing HTML tags on the page out of a set of allowed tags and attributes pre-specified by the administrator.
Author(s) Yaron Koren <yaron57@gmail.com>
Latest version 0.2 (May 2014)
MediaWiki 1.16.* or greater
Database changes No
License GNU General Public License
Download
Example A demonstration of the HTML Tags extension
Parameters
  • $wgHTMLTagsAttributes
Tags
  • <htmltag>
Hooks used
ParserFirstCallInit

Translate the HTML Tags extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

The HTML Tags extension defines a tag, <htmltag>, that can be used to display HTML tags within wiki pages that may otherwise be disallowed by the MediaWiki parser.

HTML Tags was initially developed in order to allow support the use of LRMI (Learning Resource Metadata Initiative) tags within MediaWiki pages. See Implementing LRMI for how to implement such a thing using HTML Tags.

Another potential usage of HTML Tags is to embed microdata (especially the kind that can't be embedded already using $wgAllowMicrodataAttributes).

You can see a basic demonstration of this extension here.

Code and download[edit | edit source]

You can download the HTML Tags code, in .zip format, here.

You can also download the code directly via Git from the MediaWiki source code repository. From a command line, you can call the following:

git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/HTMLTags.git

To view the code online, including version history for each file, go here.

Installation[edit | edit source]

After you've obtained an 'HTMLTags' directory (either by extracting a compressed file or downloading via SVN), place this directory within the main MediaWiki 'extensions' directory. Then, in the file 'LocalSettings.php' in the main MediaWiki directory, add the following line:

include_once "$IP/extensions/HTMLTags/HTMLTags.php";

You then need to specify the allowed set of HTML tags, and the allowed set of attributes for each one, using the global variable $wgHTMLTagsAttributes. For instance, to allow the <a> tag, and to allow only the attributes "href" and "class" for it, you would add the following to LocalSettings.php, after the inclusion of LocalSettings.php:

$wgHTMLTagsAttributes['a'] = array( 'href', 'class' );

If you wanted to allow the tag <fieldset>, but without any allowed attributes, you would add the following:

$wgHTMLTagsAttributes['fieldset'] = array();

Usage[edit | edit source]

Once a set of allowed tags and attributes are specified, you can use <htmltag> to place those tags on the page. You use the attribute "tagname" to specify the actual tag, and then add the other attributes exactly as you want them to appear. The "contents" of the tag become the contents of <htmltag>.

For instance, if the above lines are added, and you want to add a link on some page using the <a> tag, you could add something to the page like:

<htmltag tagname="a" href="http://en.wikipedia.org/wiki/Antarctica" class="my-links">Read about Antarctica</htmltag>

This will add the following to the page's HTML source:

<a href="http://en.wikipedia.org/wiki/Antarctica" class="my-links">Read about Antarctica</a>

Calling <htmltag> with a tag name that is not allowed will result in an error message; calling it with an attribute that is not allowed will simply lead to the attribute being ignored.

See Implementing LRMI for a full description of how this extension, along with some templates, can be used to allow for easy adding of LRMI metadata to pages.

Authors[edit | edit source]

HTML Tags was written by Yaron Koren, reachable at yaron57 -at- gmail.com.

This extension was funded by Creative Commons as part of the LRMI project.

Version history[edit | edit source]

HTML Tags is currently at version 0.2.

The version history is:

  • 0.1 - November 1, 2012 - Initial version
  • 0.2 - May 27, 2014 - i18n messages moved into JSON files; various fixes