واجهة برمجة التطبيقات:توسيع_القوالب

This page is a translated version of the page API:Expandtemplates and the translation is 100% complete.

طلب GET الغرض منه توسيع القوالب – كل القوالب في نص الويكي.

إصدار ميدياويكي:
1.12

توثيق واجهة برمجة التطبيقات


action=expandtemplates

(main | expandtemplates)

Expands all templates within wikitext.

Parameters:
title

Title of the page.

text

Wikitext to convert.

This parameter is required.
revid

Revision ID, for {{REVISIONID}} and similar variables.

Type: integer
prop

Which pieces of information to get.

Note that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.

wikitext
The expanded wikitext.
categories
Any categories present in the input that are not represented in the wikitext output.
properties
Page properties defined by expanded magic words in the wikitext.
volatile
Whether the output is volatile and should not be reused elsewhere within the page.
ttl
The maximum time after which caches of the result should be invalidated.
modules
Any ResourceLoader modules that parser functions have requested be added to the output. Either jsconfigvars or encodedjsconfigvars must be requested jointly with modules.
jsconfigvars
Gives the JavaScript configuration variables specific to the page.
encodedjsconfigvars
Gives the JavaScript configuration variables specific to the page as a JSON string.
parsetree
The XML parse tree of the input.
Values (separate with | or alternative): categories, encodedjsconfigvars, jsconfigvars, modules, parsetree, properties, ttl, volatile, wikitext
includecomments

Whether to include HTML comments in the output.

Type: boolean (details)
generatexml
Deprecated.

Generate XML parse tree (replaced by prop=parsetree).

Type: boolean (details)
templatesandboxprefix

Template sandbox prefix, as with Special:TemplateSandbox.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients allowed higher limits).
templatesandboxtitle

Parse the page using templatesandboxtext in place of the contents of the page named here.

templatesandboxtext

Parse the page using this page content in place of the page named by templatesandboxtitle.

templatesandboxcontentmodel

Content model of templatesandboxtext.

One of the following values: GadgetDefinition, Json.JsonConfig, JsonSchema, Map.JsonConfig, MassMessageListContent, NewsletterContent, Scribunto, SecurePoll, Tabular.JsonConfig, css, flow-board, javascript, json, sanitized-css, text, translate-messagebundle, unknown, wikitext
templatesandboxcontentformat

Content format of templatesandboxtext.

One of the following values: application/json, application/octet-stream, application/unknown, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
Example:
Expand the wikitext {{Project:Sandbox}}.
api.php?action=expandtemplates&text={{Project:Sandbox}} [open in sandbox]

مثال

طلب GET

نموذج طلب لتوسيع قالب Project:Sandbox.


النتيجة

 "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..."
    }

عينة من الكود البرمجي

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 );
} );

الأخطاء المحتملة

الكود معلومات
invalidtitle عنوان سيء "title".
nosuchrevid لا توجد مراجعة بالمعرف revid.
revwrongpage rrevid ليست مراجعة title.

تاريخ المتغيرات

  • v1.26 - إضافة encodedjsconfigvars, jsconfigvars, modules
  • v1.25 - إضافة revid, properties
  • v1.24 - إضافة prop
  • v1.18 - إضافة includecomments
  • v1.13 -: إضافة generatexml

ملاحظات إضافية

  • Special:ExpandTemplates - هذه صفحة خاصة تحتوي على خانتي إدخال اثنين، خانة لإدخال نصوص الويكي، والأخرى لإدخال اسم الصفحة. ينتج عنها في نافذة Result نص الويكي الموسّع، أي أن القوالب ودوال المعرب اللغوي المتغيرات قد وسعت تكراريًا كما أن المتغيرات التي تعتمد على اسم الصفحة توسّع استنادًا إلى اسم الصفحة المعطى. هذه نتيجة وسيطة قبل عرض صفحة محددة بعد الحفظ أو الضغط على Preview (أو رفع نص الويكي الناتج لمعالجته في عملية أخرى) ويساعد هذا في استيعاب توسيع نصوص الويكي وتصحيح أخطاءه. يمكن الاطلاع على مزيد من المعلومات عن هذه الصفحة هنا: Help:ExpandTemplates

انظر أيضا

  • API:Parse - إعراب محتوى صفحة برمجيًا والحصول على الناتج.
  • API:Revisions - الحصول على معلومات مراجعات صفحة ما أو أكثر من صفحة
  • Help:ExpandTemplates - يحتوي على معلومات مفصلة عن توسيع القوالب