GET request to expand templates all templates in the wikitext.

MediaWiki version:
1.12

API documentation


Special:ApiHelp/expandtemplates

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 pressing Preview (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
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.