Release status: beta
|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 <email@example.com>|
|Last version||0.1 (November 2012)|
|MediaWiki||1.16.* or greater|
|Example||A demonstration of the HTML Tags extension|
|Check usage and version matrix|
HTML Tags is an extension to MediaWiki that 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 (and similar metadata schemas) using HTML Tags.
You can see a basic demonstration of this extension here.
Code and download 
You can download the HTML Tags code, in .tgz 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.
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:
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();
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.
HTML Tags was written by Yaron Koren, reachable at yaron57 -at- gmail.com.
Version history 
HTML Tags is currently at version 0.1.
The version history is:
- 0.1 - November 1, 2012 - Initial version