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
edit
Example
editGET request
editA sample request to expand the Project:Sandbox template.
Response
edit "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
editPython
edit#!/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
edit<?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
edit/*
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
edit/*
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
editCode | Info |
---|---|
invalidtitle | Bad title "title". |
nosuchrevid | There is no revision with ID revid. |
revwrongpage | rrevid is not a revision of title. |
Parameter history
edit- 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
edit- 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
edit- 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