Jump to content
Wikimedia Meta-Wiki

User:He7d3r/Tools/CrossWikiWatchlist.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
 // [[File:User:He7d3r/Tools/CrossWikiWatchlist.js]] (workaround for [[phab:T35355]])
 /**
  * Cross-Wiki Watchlist
  *
  * @author: Helder (https://github.com/he7d3r)
  * @author: Legoktm (https://github.com/legoktm)
  * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
  */
 // <nowiki>
 (function(i,e){"use strict";functiont(i,t){vara=e.Deferred(),o="https://"+i+"/w/api.php",n={url:o,data:t,dataType:"json"};returni!==location.host&&(t.origin="https://"+location.host,n.xhrFields={withCredentials:!0}),e.ajax(n).done(function(e){a.resolve(i,e)}).fail(a.reject),t.origin=void0,a.promise()}functiona(i,t){vara=[],o="proj-"+i.url.replace(/^www\.(mediawiki|wikidata)\.org$/,"1ドル").replace(/^(meta|commons|species|incubator)\.wikimedia\.org$/,"1ドル").replace(/^.+?\./,"").replace(/\.org$/,""),n=function(i){return10>i?"0"+i:i+""},s=i.newlen-i.oldlen,r=s>0?"mw-plusminus-pos":s===0?"mw-plusminus-null":"mw-plusminus-neg",l='<span class="mw-changeslist-separator">. .</span> ';returna.push(o),i.notificationtimestamp!==""&&i.timestamp>=newDate(i.notificationtimestamp)?a.push("mw-changeslist-line-watched"):a.push("mw-changeslist-line-not-watched"),a.push(t?"mw-line-odd":"mw-line-even"),e("<li></li>").addClass(a.join(" ")).append("(",e("<a></a>").attr("href","//"+i.url+"/?diff="+i.revid).text("diff")," | ",e("<a></a>").attr("href","//"+i.url+"/?action=history&curid="+i.pageid).text("hist"),") ",l,i.minor===""?e("<abbr></abbr>").addClass("minoredit").attr("title","This is a minor edit").text("m"):"",i.unpatrolled===""?e("<abbr></abbr>").addClass("unpatrolled").attr("title","This edit has not yet been patrolled").text("!"):"",i.bot===""?e("<abbr></abbr>").addClass("botedit").attr("title","This edit was performed by a bot").text("b"):""," ",e("<span></span>").addClass("mw-title").append(e("<a></a>").addClass("mw-changeslist-title").attr("href","//"+i.url+"/wiki/"+encodeURIComponent(i.title)).text(i.title)),"; ",n(i.timestamp.getUTCHours()),":",n(i.timestamp.getUTCMinutes()),l,e("<span></span>").addClass(r).append("(",s>0?"+"+s:s,") "),l,e("<a></a>").attr("href","//"+i.url+"/wiki/User:"+encodeURIComponent(i.user)).text(i.user)," (",e("<a></a>").attr("href","//"+i.url+"/wiki/User_talk:"+encodeURIComponent(i.user)).text("talk")," | ",e("<a></a>").attr("href","//"+i.url+"/wiki/Special:Contributions/"+encodeURIComponent(i.user)).text("contribs"),") ",i.parsedcomment===""?"":e("<span></span>").addClass("comment").html(i.parsedcomment.replace(/"\/wiki\//g,'"//'+i.url+"/wiki/")).prepend("(").append(")"))}functiono(t){varo,n=newDate;n.setUTCHours(0,0,0,0),n.setUTCDate(n.getUTCDate()+1),e.each(t,function(t,s){n>s.timestamp&&(o&&r.append(o),o=e('<ul class="special"></ul>'),n.setDate(n.getDate()-1),r.append(e("<h4></h4>").text([s.timestamp.getUTCDate(),i.config.get("wgMonthNames")[s.timestamp.getUTCMonth()+1],s.timestamp.getUTCFullYear()].join(" ")))),o.append(a(s,t%2===1))}),r.append(o)}functionn(a,n){vars,l,p,m,d=[];for(typeofa=="string"&&(a=[a]),s={action:"query",format:"json",list:"watchlist",wlprop:"flags|ids|notificationtimestamp|parsedcomment|sizes|timestamp|title|user",wltype:"edit",wllimit:"50"},n.show.length&&(s.wlshow=n.show.join("|")),m=0;a.length>m;m++)d.push(t(a[m],s));e.when.apply(e,d).done(function(){functioni(i,e){e.url=n[a][0],e.timestamp=newDate(e.timestamp),p.push(e)}functiont(i,e){returne.timestamp.getTime()-i.timestamp.getTime()}vara,n=Array.prototype.slice.call(arguments);for(p=[],a=0;n.length>a;a++)n[a][1].error?r.prepend(e('<div class="error"></div>').append(n[a][0],": ",n[a][1].error.code,": ",n[a][1].error.info)):e.each(n[a][1].query.watchlist,i);l=window.wgWatchlist||[],l=l.concat(p),window.wgWatchlist=l.sort(t),o(l)}).fail(function(){i.log.warn(arguments)})}functions(){vart=(e("#mw-watchlist-form").attr("action",i.util.getUrl("Special:Watchlist/cw")),i.user.options.get("userjs-cw-watchlist",[i.config.get("wgUserLanguage").split("-")[0]+".wikipedia.org","meta.wikimedia.org"])),a={};typeoft=="string"&&(t=JSON.parse(t)),r=e(".mw-changeslist").first(),r.length||(r=e("#mw-content-text")),r.empty(),a.show=[e("#hideminor").is(":checked")?"!minor":"minor",e("#hidebots").is(":checked")?"!bot":"bot",e("#hideanons").is(":checked")?"!anon":"anon",e("#hidepatrolled").is(":checked")?"!patrolled":"patrolled"],i.util.addCSS(["li.proj-wikibooks { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/e/ec/Wikibooks-favicon.png); }","li.proj-wikinews { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/a/ac/Wikinews-favicon.png); }","li.proj-wikipedia { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/b/b0/Wikipedia-favicon.png); }","li.proj-wikiquote { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/8/8c/Wikiquote-favicon.png); }","li.proj-wikisource { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/3/3e/Wikisource-favicon.png); }","li.proj-wikiversity { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/4/4b/Wikiversity-favicon.png); }","li.proj-wikivoyage { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Wikivoyage_favicon.svg/16px-Wikivoyage_favicon.svg.png); }","li.proj-wiktionary { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/8/83/En.wiktionary_favicon.svg/16px-En.wiktionary_favicon.svg.png); }","li.proj-mediawiki { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/b/bb/MediaWiki-notext.svg/16px-MediaWiki-notext.svg.png); }","li.proj-commons { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/4/47/Wikimedia_Commons_favicon.png); }","li.proj-meta { list-style-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/7/75/Wikimedia_Community_Logo.svg/16px-Wikimedia_Community_Logo.svg.png); }"].join("\n")),n(t,a)}varr;i.config.get("wgCanonicalSpecialPageName")==="Watchlist"&&/\/cw$/.test(i.config.get("wgTitle"))&&e.when(e.ready,i.loader.using(["mediawiki.util","user.options"])).then(s)})(mediaWiki,jQuery);
 // </nowiki>

AltStyle によって変換されたページ (->オリジナル) /