Content deleted Content added
per request |
No edit summary |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1:
//<nowiki>
jQuery(document).ready(function($) {
if(mw.config.get('wgNamespaceNumber') != -1 && document.getElementsByName('wpTextbox1')[0]) {
mw.loader.using(['mediawiki.util']).done( function() {
});
}
// -------------------------------------------------------------------------------- //
Line 40 ⟶ 43:
// Remove some noinclude sections
mytxt = mytxt.replace(/<noinclude>(?:[^<>]|<\/?[^n][^<>]*>)*<\/noinclude>/gm, '');
// Compress more whitespace
mytxt = mytxt.replace(/(\{\{[^\{\}\|]*)[\s]+(\||\}\})/g, '$1$2');
// Remove wikilinks to make patterns less complicated
mytxt = mytxt.replace(/\[\[[^\[\]\{\}]*\]\]/g, '');
// Add a leading and trailing newline to make pattern matches less complicated
mytxt = '\n' + mytxt + '\n';
Line 48 ⟶ 56:
// Now start extracting the parameters
var plist = []; var klist = {}; var loopcount = 0;
while( (mytxt.search(/[^{}]/gm) >= 0) && (loopcount <
var p = mytxt.match(/(\{\{\{[^{}\|]*\|?[^\{\}\|=]*\}\}\})/g);
if( p ) {
Line 65 ⟶ 73:
}
// Remove templates, parserfunctions, and other double brace expressions
mytxt = mytxt.replace(/([^\{])\{\{
mytxt = mytxt.replace(/\{\{
mytxt = mytxt.replace(/([^\{])\{\{(?:[\r\n]|[^{}]|\{\{[^{}]*\}\})*\}\}/gm, '$1');
mytxt = mytxt.replace(/\{\{(?:[\r\n]|[^{}]|\{\{[^{}]*\}\})*\}\}([^\}])/gm, '$1');
}
loopcount++;
}
if( mytxt.search(/[\{\}]/gm) >= 0 ) {
▲ mytxt = mytxt.replace(/([\{\}])/gm, '\n<!-- UNPROCESSED HERE -->$1');
alert('Did not finish processing: ' + mytxt);
} else {
Line 78 ⟶ 87:
var alphasort = confirm('Sort parameters alphabetically?');
// Sort
if(alphasort === true) {
plist.sort(function (a, b) {
aa = a.replace(/([^0-9])([0-9][^0-9]*)$/, '$10$2');
bb = b.replace(/([^0-9])([0-9][^0-9]*)$/, '$10$2');
return aa.toLowerCase().localeCompare(bb.toLowerCase()) });
} else {
plist = plist.sort(function(a,b) { return klist[a] - klist[b] } );
Line 85 ⟶ 97:
myfullpagename = mw.config.get('wgPageName');
myfullpagename = myfullpagename.replace(/_/g, ' ');
myfullpagename = myfullpagename.replace(/\/sandbox$/, '');
mypagename = myfullpagename.replace(/^Template:/, '');
mypagename = mypagename.charAt(0).toLowerCase() + mypagename.slice(1);
mypagename = mypagename.replace(/^wikiProject/, 'WikiProject');
// Finally, build the blank template
mytxt = '{' + '{#invoke:'
Line 121 ⟶ 135:
// -------------------------------------------------------------------------------- //
});
//</nowiki>
|