API:Expandtemplates
This page is part of the MediaWiki Action API documentation. |
GET request to expand all templates in the wikitext.
MediaWiki version: | ≥ 1.12 |
API documentation
Example
GET request
A sample request to expand the Project:Sandbox template.
Response
"expandtemplates": {
"wikitext": "\n<table class=\"plainlinks ombox ombox-notice\" role=\"presentation\" style=\"margin:auto;\"><tr><td class=\"mbox-image\">[[File:Sandbox.png|75px|alt=|link=]]</td><td class=\"mbox-text\">Welcome to this [[Wikipedia:About the Sandbox|sandbox page]]. Sandbox pages provide space to experiment with the process of editing Wikipedia pages.<br/>To edit this sandbox, click <span class=\"plainlinks\">'''[//en.wikipedia.org/w/index.php?title=API&action=edit here]'''</span> or the \"Edit\" tab along the top of this page..."
}
Sample code
Python
#!/usr/bin/python3
"""
expand_templates.py
MediaWiki API Demos
Demo of `Expandtemplates` module: Expand the Project:Sandbox template.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "expandtemplates",
"text": "{{Project:Sandbox}}",
"prop": "wikitext",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
print(DATA)
PHP
<?php
/*
expand_templates.php
MediaWiki API Demos
Demo of `Expandtemplates` module: Expand the Project:Sandbox template.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "expandtemplates",
"text" => "{{Project:Sandbox}}",
"prop" => "wikitext",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
echo( $output );
JavaScript
/*
expand_templates.js
MediaWiki API Demos
Demo of `Expandtemplates` module: Expand the Project:Sandbox template.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "expandtemplates",
text: "{{Project:Sandbox}}",
prop: "wikitext",
format: "json"
};
request.get({ url: url, qs: params }, function(error, res, body) {
if (error) {
return;
}
console.log(body);
});
MediaWiki JS
/*
expand_templates.js
MediaWiki API Demos
Demo of `Expandtemplates` module: Expand the Project:Sandbox template.
MIT License
*/
var params = {
action: "expandtemplates",
text: "{{Project:Sandbox}}",
prop: "wikitext",
format: "json"
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
console.log( data );
} );
Possible errors
Code | Info |
---|---|
invalidtitle | Bad title "title". |
nosuchrevid | There is no revision with ID revid. |
revwrongpage | rrevid is not a revision of title. |
Parameter history
- v1.26 - Introduced
encodedjsconfigvars
,jsconfigvars
,modules
- v1.25 - Introduced
revid
,properties
- v1.24 - Introduced
prop
- v1.18 - Introduced
includecomments
- v1.13 - Introduced
generatexml
Additional notes
- Special:ExpandTemplates - This is a special page that has two input boxes, one to enter wikitext, and another one to enter a page name. It produces in the
Result
window the expanded wikitext, i.e., templates, parser functions, and variables are expanded recursively; variables depending on page name are expanded based on the supplied page name. This is an intermediate result before a page is rendered after saving or pressingPreview
(or the resulting wikitext is submitted to other processing), helpful in understanding and debugging wikitext expansion. More information about this page can be found here: Help:ExpandTemplates
See also
- API:Parse - parse content of a page and obtain the output.
- API:Revisions - obtain revision information of page(s)
- Help:ExpandTemplates - contains detailed information on expanding templates