User:Vanderdecken/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin can be added at User:Vanderdecken/monobook.css. |
importScript('User:VoA/monobook.js');
//[[Category:Wikipedians who use RC script]]
/**** afd helper ****/
document.write('<script type="text/javascript"' +
'src="http://wiki.riteme.site/w/index.php?title=User:Jnothman/afd_helper/' +
'script.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
/* This is to keep track of who is using this extension: [[User:Jnothman/afd_helper/script.js]] */
/* <pre> [[User:DStoykov/defaultsort.js]] <nowiki> */
function defaultsort() {
//var apiurl = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml';
//var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null;
//xmlhttp.open('GET',apiurl, false);
//xmlhttp.send(null);
//alert(xmlhttp.responseXML.getElementById('14'));
var txt = document.editform.wpTextbox1.value;
var sortkey = '';
// Create an array of all category links
if (txt.match(/\{\{\s*defaultsort/i)) {
alert('There\'s already a defaultsort statement!');
return;
}
var catlinks = txt.match(/\[\[\s*((C|K)at(e|e)gor(y|i|ie|ia|ia|ija|io)|Кат(е|э)гор(ия|ија|ія|ыя)|Luokka|Flokkur)\s*:.*\]\]/ig);
if (!catlinks) {
alert('There are no category links!');
return;
}
for (i=0; i< catlinks.length; i++) {
// Extract the name of the category
var catname = catlinks[i].replace(/.+\s*:\s*([^|]*[^|\s])\s*(\|.*)?\]\]/,"$1");
// Extract the sort key
var match = /\|[^\]]+/.exec(catlinks[i]);
if (match == null) {
alert('Category '+catname+' doesn\'t include a sort key!');
return;
}
// Strip the '|' and any trailing spaces
var sk = match[0].replace(/\|(.+)/, "$1").replace(/(\S) +$/,"$1");
if (i == 0) {
sortkey = sk;
} else {
if (sortkey != sk) {
alert('Not all sort keys are identical!\nThe sort key for category '+catname+' is different.');
return;
}
}
}
// Now that we know that everything is OK, we can proceed with modifying the content of the editbox
txt = txt.replace(catlinks[0], "{{DEFAULTSORT:"+sortkey+"}}\n"+catlinks[0]);
for (i=0; i< catlinks.length; i++) {
subst = catlinks[i].replace(/\|[^\]]+/,"");
txt = txt.replace(catlinks[i], subst);
}
document.editform.wpTextbox1.value=txt;
}
addOnloadHook(function () {
if(document.forms.editform) {
mw.util.addPortletLink('p-cactions', 'javascript:defaultsort()', 'defaultsort', 'ca-defaultsort', '', '', document.getElementById('ca-purge'));
}
});
/* </nowiki></pre> */
/* <pre> */
function welcome() {
// Find the edit box
var txt = document.editform.wpTextbox1;
//The welcome *template* you want to use, modified to be Welcomeh, edit summary Welcome! and no watch
var welcome_template = 'welcomeh';
var welcome_summary = 'Welcome!';
var welcome_watch = false;
// The tag to be included is a welcome message
var tag = '{{subst:'+ welcome_template +'}}';
// If the edit box doesn't already have this tag...
if (txt.value.indexOf(tag) == -1) {
// Append the tag
txt.value += tag;
// Add an edit summary
document.editform.wpSummary.value = welcome_summary;
document.editform.wpWatchthis.checked = welcome_watch;
// Press the Save page button
document.editform.submit();
}
// If the tag was already there, turn the tab background red to indicate
// that the script is functioning properly, but that there is no action
// to do. This doesn't interrupt the user's work like an alert() would.
else {
document.getElementById('ca-unverified').firstChild.style.backgroundColor = "#ff4444";
document.getElementById('ca-unverified').style.backgroundColor = "#ff4444";
}
}
// Create a tab that calls this function when pressed
// Create a tab that calls this function when pressed
addOnloadHook(
function ()
{
if(document.title.indexOf("Editing User talk:") == 0)
{
mw.util.addPortletLink('p-cactions', 'javascript:welcome()', 'wg', 'ca-welcome', 'Adds a welcome note to a new user', '', '');
}
}
);
/* This is to keep track of who is using this extension: [[User:Flex/welcome_newuser.js]] */
/* </pre> */
importScript('User:Superm401/Compare link.js');
importScript('User:Quarl/util.js');
importScript('User:Quarl/wikipage.js');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');
importScript('User:AzaToth/twinkle.js');
importScript('Wikipedia:WikiProject Deletion sorting/delsort.js');
importScript('User:Ioeth/friendly.js');
if( typeof( TwinkleConfig ) == 'undefined' ) TwinkleConfig = {}; // DO NOT REMOVE THIS LINE - ALL TWINKLE SETTINGS AFTER THIS
TwinkleConfig.userTalkPageMode = 'tab';
if( typeof( FriendlyConfig ) == 'undefined' ) FriendlyConfig = {}; // DO NOT REMOVE THIS LINE - ALL FRIENDLY SETTINGS AFTER THIS
FriendlyConfig.quickWelcomeMode = "semiauto";
FriendlyConfig.quickWelcomeTemplate = "Welcomeh";