2 * @class mw.Api.plugin.parse
6 $.extend( mw
.Api
.prototype, {
8 * Convenience method for 'action=parse'.
10 * @param {string|mw.Title} content Content to parse, either as a wikitext string or
12 * @param {Object} additionalParams Parameters object to set custom settings, e.g.
13 * redirects, sectionpreview. prop should not be overridden.
14 * @return {jQuery.Promise}
15 * @return {Function} return.done
16 * @return {string} return.done.data Parsed HTML of `wikitext`.
18 parse: function ( content
, additionalParams
) {
19 var apiPromise
, config
= $.extend( {
22 contentmodel
: 'wikitext'
23 }, additionalParams
);
25 if ( mw
.Title
&& content
instanceof mw
.Title
) {
26 // Parse existing page
27 config
.page
= content
.getPrefixedDb();
29 // Parse wikitext from input
30 config
.text
= String( content
);
33 apiPromise
= this.get( config
);
36 .then( function ( data
) {
37 return data
.parse
.text
;
39 .promise( { abort
: apiPromise
.abort
} );
45 * @mixins mw.Api.plugin.parse
48 }( mediaWiki
, jQuery
) );