X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/resources/src/mediawiki/mediawiki.template.mustache.js diff --git a/resources/src/mediawiki/mediawiki.template.mustache.js b/resources/src/mediawiki/mediawiki.template.mustache.js new file mode 100644 index 00000000..9f5e5c4e --- /dev/null +++ b/resources/src/mediawiki/mediawiki.template.mustache.js @@ -0,0 +1,34 @@ +/* global Mustache */ +( function ( mw, $ ) { + // Register mustache compiler + mw.template.registerCompiler( 'mustache', { + compile: function ( src ) { + return { + /** + * @ignore + * @return {string} The raw source code of the template + */ + getSource: function () { + return src; + }, + /** + * @ignore + * @param {Object} data Data to render + * @param {Object} partialTemplates Map partial names to Mustache template objects + * returned by mw.template.get() + * @return {jQuery} Rendered HTML + */ + render: function ( data, partialTemplates ) { + var partials = {}; + if ( partialTemplates ) { + $.each( partialTemplates, function ( name, template ) { + partials[ name ] = template.getSource(); + } ); + } + return $( $.parseHTML( Mustache.render( src, data, partials ) ) ); + } + }; + } + } ); + +}( mediaWiki, jQuery ) );