User:Rayhou/monobook.js

// [[User:Lupin/popups.js]]

importScript('User:Lupin/popups.js');
importScript('User:Cameltrader/Advisor.js');
importScript('User:Tra/userwatchlist.js'); //[[User:Tra/userwatchlist.js]]
importScript('User:Tra/whatlinksherewatchlist.js'); //[[User:Tra/whatlinksherewatchlist.js]]
$(function() {
  if (wgTitle.indexOf("/") != -1 || document.title.indexOf("- History -") != -1)  //no subpages or history
     return;
  if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
     var username = encodeURIComponent( wgTitle );
     mw.util.addPortletLink("p-cactions", wgServer + "/wiki/Special:Contributions/" + username, "contribs", "ca-contrib", "User contributions");
     mw.util.addPortletLink("p-cactions", "http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=" + username + "&site=en.wikipedia.org", "count", "ca-editcount", "Edit count from Interiot's Tool1");
     mw.util.addPortletLink("p-cactions", "http://www.math.ucla.edu/~aoleg/wp/rfa/edit_summary.cgi?user=" + username + "&site=en.wikipedia.org", "Summary", "ca-summary", "Edit Summary");
  }
});

//
importScript('User:Misza13/viewSource.js');
// [[User:Zocky/PicturePopups.js]]
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Zocky/PicturePopups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
// [[User:Zocky/LinkComplete.js]]
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Zocky/LinkComplete.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
importScript('User:Alex_Smotrov/qpreview.js');
*/ //Wikipedia:WikiProject User scripts | Scripts function format() { var txt = document.editform.wpTextbox1; txt.value = catFixer(txt.value); txt.value = entities(txt.value); txt.value = fixheadings(txt.value); txt.value = fixsyntax(txt.value); txt.value = linkfixer(txt.value, false); //txt.value = imagefixer(txt.value); txt.value = whitespace(txt.value); txt.value = linksimplifyer(txt.value); txt.value = trim(txt.value); } function whitespace(str){ str = str.replace(/\t/g, " "); str = str.replace(/^ ? ? \n/gm, "\n"); str = str.replace(/(\n\n)\n+/g, "$1"); str = str.replace(/== ? ?\n\n==/g, "==\n=="); str = str.replace(/\n\n(\* ?\[?http)/g, "\n$1"); str = str.replace(/^ ? ? \n/gm, "\n"); str = str.replace(/\n\n\*/g, "\n*"); str = str.replace(/[ \t][ \t]+/g, " "); str = str.replace(/([=\n]\n)\n+/g, "$1"); str = str.replace(/ \n/g, "\n"); //* bullet points str = str.replace(/^([\*#]+) /gm, "$1"); str = str.replace(/^([\*#]+)/gm, "$1 "); //==Headings== str = str.replace(/^(={1,4}) ?(.*?) ?(={1,4})$/gm, "$1$2$3"); //dash — spacing str = str.replace(/ ?(–|&#150;|&ndash;|&#8211;|&#x2013;) ?/g, "$1"); str = str.replace(/ ?(—|&#151;|&mdash;|&#8212;|&#x2014;) ?/g, "$1"); str = str.replace(/([^1-9])(—|&#151;|&mdash;|&#8212;|&#x2014;|–|&#150;|&ndash;|&#8211;|&#x2013;)([^1-9])/g, "$1 $2 $3"); return trim(str); } function entities(str){ //str = str.replace(//g, ""); str = str.replace(/&#150;|&#8211;|&#x2013;/g, "&ndash;"); str = str.replace(/&#151;|&#8212;|&#x2014;/g, "&mdash;"); // str = str.replace(/(cm| m|km|mi)<sup>2</sup>/g, "$1²"); str = str.replace(/&sup2;/g, "²"); str = str.replace(/&deg;/g, "°"); return trim(str); } //Fix ==See also== and similar section common errors. function fixheadings(str) { if( !str.match(/= ?See also ?=/) ) str = str.replace(/(== ?)(see also:?|related topics:?|related articles:?|internal links:?|also see:?)( ?==)/gi, "$1See also$3"); str = str.replace(/(== ?)(external links?:?|outside links?|web ?links?:?|exterior links?:?)( ?==)/gi, "$1External links$3"); str = str.replace(/(== ?)(references?:?)( ?==)/gi, "$1References$3"); str = str.replace(/(== ?)(sources?:?)( ?==)/gi, "$1Sources$3"); str = str.replace(/(== ?)(further readings?:?)( ?==)/gi, "$1Further reading$3"); return str; } function catFixer(str){ str = str.replace(/\[\[ ?[Cc]ategory ?: ?/g, "[[Category:"); return trim(str); } //fixes many common syntax problems function fixsyntax(str) { //replace html with wiki syntax if( !str.match(/'<\/?[ib]>|<\/?[ib]>'/gi) ) { str = str.replace(/<i>(.*?)<\/i>/gi, "''$1''"); str = str.replace(/<b>(.*?)<\/b>/gi, "'''$1'''"); } str = str.replace(/<br\/>/gi, "<br />"); str = str.replace(/<br>/gi, "<br />"); return trim(str); } //formats links in standard fashion function linkfixer(str, checkImages) { str = str.replace(/\]\[/g, "] ["); var m = str.match(/\[?\[[^\]]*?\]\]?/g); if (m) { for (var i = 0; i < m.length; i++) { var x = m[i].toString(); var y = x; //internal links only if ( !y.match(/^\[?\[http:\/\//i) && !y.match(/^\[?\[image:/i) ) { if (y.indexOf(":") == -1 && y.substr(0,3) != "[[_" && y.indexOf("|_") == -1) { if (y.indexOf("|") == -1) y = y.replace(/_/g, " "); else y = y.replace( y.substr(0, y.indexOf("|")), y.substr(0, y.indexOf("|")).replace(/_/g, " ")); } y = y.replace(/ ?\| ?/, "|").replace("|]]", "| ]]"); } str = str.replace(x, y); } } //repair bad internal links str = str.replace(/\[\[ ?([^\]]*?) ?\]\]/g, "[[$1]]"); str = str.replace(/\[\[([^\]]*?)( |_)#([^\]]*?)\]\]/g, "[[$1#$3]]"); //repair bad external links str = str.replace(/\[?\[http:\/\/([^\]]*?)\]\]?/gi, "[http://$1]"); str = str.replace(/\[http:\/\/([^\]]*?)\|([^\]]*?)\]/gi, "[http://$1 $2]"); return trim(str); } //fixes images function imagefixer(str) { //remove external images str = str.replace(/\[?\[image:http:\/\/([^\]]*?)\]\]?/gi, "[http://$1]"); //fix links within internal images var m = str.match(/\[?\[image:[^\[\]]*?(\[?\[[^\]]*?\]*?[^\[\]]*?)*?\]+/gi); if (m) { for (var i = 0; i < m.length; i++) { var x = m[i].toString(); var y = x; y = y.replace(/^\[\[i/i, "I").replace(/\]\]$/, ""); y = y.replace(/(\[[^\]]*?)$/, "$1]"); y = linkfixer(y, true); y = "[[" + y + "]]"; str = str.replace(x, y); } } return trim(str); } //simplifies some links e.g. [[Dog|dog]] to [[dog]] and [[Dog|dogs]] to [[dog]]s function linksimplifyer(str){ var m = str.match(/\[\[([^[]*?)\|([^[]*?)\]\]/g); if (m) { for (var i = 0; i < m.length; i++) { var n_arr = m[i].toString().match(/\[\[([^[]*?)\|([^[]*?)\]\]/); var n = n_arr[0]; var a = n_arr[1]; var b = n_arr[2]; if (b.indexOf(a) == 0 || b.indexOf(TurnFirstToLower(a)) == 0) { var k = n.replace(/\[\[([^\]\|]*?)\|(\1)([\w]*?)\]\]/i, "[[$2]]$3"); str = str.replace(n, k); } } } str = str.replace(/\[\[([^\]\|]+)\|([^\]\|]+)\]\]([A-Za-z\'][A-Za-z]*)([\.\,\;\:\"\!\?\s\n])/g, "[[$1|$2$3]]$4"); // ' // Help the syntax highlighter... return str; } //trim start and end, trim spaces from the end of lines function trim(str) { str = str.replace(/ $/gm, ""); return str.replace(/^\s*|\s*$/g, ""); } //turns first character to lowercase function TurnFirstToLower(input) { if (input != "") { var input = trim(input); var temp = input.substr(0, 1); return temp.toLowerCase() + input.substr(1, input.length); } else return ""; } //entities that should never be unicoded function noUnicodify(str) { str = str.replace(" &amp; ", " & "); str = str.replace("&amp;", "&amp;amp;").replace("&amp;lt;", "&amp;amp;lt;").replace("&amp;gt;", "&amp;amp;gt;").replace("&amp;quot;", "&amp;amp;quot;").replace("&amp;apos;", "&amp;amp;apos;"); str = str.replace("&minus;", "&amp;minus;").replace("&times;", "&amp;times;"); str = str.replace("&nbsp;", "&amp;nbsp;").replace("&thinsp;", "&amp;thinsp;").replace("&shy;", "&amp;shy;"); str = str.replace("&prime;", "&amp;prime;"); str = str.replace(/&(#0?9[13];)/, "&amp;$1"); str = str.replace(/&(#0?12[345];)/, "&amp;$1"); return str; } addOnloadHook(function () { if(document.forms.editform) { mw.util.addPortletLink('p-cactions', 'javascript:format()', 'format', 'ca-format', 'Format article', '', document.getElementById('ca-edit')); } }); /*
/* Watchlist notifier ([[User:Ais523/watchlistnotifier.js]]); displays a message every time a watched page changes. */ //<pre><nowiki> var wmwpajax; // From [[WP:US]] mainpage (wpajax renamed to wmwpajax) wmwpajax={ download:function(bundle) { // mandatory: bundle.url // optional: bundle.onSuccess (xmlhttprequest, bundle) // optional: bundle.onFailure (xmlhttprequest, bundle) // optional: bundle.otherStuff OK too, passed to onSuccess and onFailure var x = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false; if (x) { x.onreadystatechange=function() { x.readyState==4 && wmwpajax.downloadComplete(x,bundle); }; x.open("GET",bundle.url,true); x.send(null); } return x; }, downloadComplete:function(x,bundle) { x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true ) || ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText+': '+bundle.url)); } }; // Example: // function dlComplete(xmlreq, data) { // alert(data.message + xmlreq.responseText); // } // wmwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw', // onSuccess: dlComplete, message: "Here's what we got:\n\n" }); // End of [[WP:US]] quote function wmWatchEditFound(xmlreq, data) { var watchrev, watchsum, watchrevold, watchpage, junk; if(xmlreq.responseText.indexOf('revid=')==-1) { document.getElementById('contentSub').innerHTML+= "<div class='watchlistnotify'>(<i>watchlistnotifier can't determine whether a "+ "watched page has changed<i>)</div>"; return; } watchrev=xmlreq.responseText.split('revid="')[1].split('"')[0]; try { watchrevold=document.cookie.split('ais523wmwatchrev=')[1].split('.')[0]; } catch(junk) {watchrevold=0;} if(wgPageName == "Special:Watchlist") { document.cookie="ais523wmwatchrev="+watchrev+".; path=/"; var aas=document.getElementById('bodyContent').getElementsByTagName('a'); var i=aas.length; while(i--) { if(aas[i].href.indexOf('diff=')!=-1&&watchrevold) if(+(aas[i].href.split('diff=')[1].split('&')[0])>watchrevold) aas[i].parentNode.style.fontWeight='bold'; } } else { watchsum=xmlreq.responseText.split('comment="')[1].split('"')[0]; watchpage=xmlreq.responseText.split('title="')[1].split('"')[0]; watchsum=watchsum.split('<').join('&lt;').split('>').join('&gt;'); watchpage=watchpage.split('<').join('&lt;').split('>').join('&gt;'); if(watchrev!=watchrevold) document.getElementById('contentSub').innerHTML+= "<div class='watchlistnotify'>\""+watchpage+'" changed: "'+watchsum+ '". (<a href="/wiki/Special:Watchlist">watchlist</a>)</div>'; } } addOnloadHook(function() { /* Find the top item in the watchlist, and its edit summary. We only need one item, so set the limit to 1 to ease the load on the server. */ wmwpajax.download({url:'http://en.wikipedia.org/w/api.php?action=query&list=watchlist&wllimit=1&'+ 'wldir=older&format=xml&wlprop=comment|ids|title', onSuccess: wmWatchEditFound}); }); // </nowiki></pre> // [[Category:Wikipedia scripts]]

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.