Extension:HTML Tags
HTML Tags Release status: stable |
|
---|---|
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.3 (2020-01-22) |
MediaWiki | 1.29+ |
Database changes | No |
License | GNU General Public License 2.0 or later |
Download | |
Example | A demonstration of the HTML Tags extension |
|
|
|
|
Translate the HTML Tags extension if it is available at translatewiki.net | |
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).
You can see a basic demonstration of this extension here.
Code and download
editYou 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/mediawiki/extensions/HTMLTags.git
To view the code online, including version history for each file, go here.
Installation
editAfter you've obtained an 'HTMLTags' directory (either by extracting a compressed file or downloading via Git), place this directory within the main MediaWiki 'extensions' directory. Then, in the file 'LocalSettings.php' in the main MediaWiki directory, add the following line:
wfLoadExtension( 'HTMLTags' );
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'] = [ 'href', 'class' ];
If you wanted to allow the tag <fieldset>
, but without any allowed attributes, you would add the following:
$wgHTMLTagsAttributes['fieldset'] = [];
Usage
editOnce 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
editHTML 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
editHTML Tags is currently at version 0.3.
The version history is:
- 0.1 - November 1, 2012 - Initial version
- 0.2 - May 27, 2014 - i18n messages moved into JSON files; various fixes
- 0.3 - January 22, 2020 - converted to extension registration
See also
edit- HTML restriction - list of extensions that allow for the inclusion of raw HTML
- Extension:AnchorHandler – Allows inserting
<a>
anchor tags into wikitext
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |