“MediaWiki:Gadget-HotCat-zh-core.js”的版本间差异

prefer zh-cn instead of zh-hans etc.
(prefer zh-cn instead of zh-hans etc.)
 
(未显示2个用户的32个中间版本)
//<nowiki>
(function($, mw) {
/**
$(function() {
* @Function: 修改HotCat以识别繁简分类
const ns = mw.config.get('wgNamespaceNumber'),
* @Contributors: [[User:Bhsd]]; [[User:葫芦又]]
nsIds = mw.config.get('wgNamespaceIds');
*/
if( (ns < 0 && // Special pages; Special:Upload is handled differently
$(function() {
mw.config.get('wgCanonicalSpecialPageName') !== 'Upload') ||
const ns = mw.config.get('wgNamespaceNumber'),
ns === 10 || // Templates
mobileMode = mw.loader.getState( 'ext.gadget.MobileCategories' ) !== null;
ns === 274 || // Widget
if ( mw.config.get('wgCanonicalSpecialPageName') !== 'Upload' &&
ns === 828 || // Module (Lua)
(ns ===< 80 || // MediaWikiSpecial pages
ns === 10 || // Templates
ns === 6 && !mw.config.get('wgArticleId') || // Non-existing file pages
ns === 2274 || // UserWidget
ns % 2 === 1828 || // TalkModule page(Lua)
ns === 8 || // MediaWiki
mw.config.get("wgPageContentModel") !== "wikitext" ||
ns === 2 || // User
nsIds &&
ns % 2 === 1 || // Talk page
( ns === nsIds.creator ||
!mw.config.get('wgArticleId') || // Non-existing file pages
ns === nsIds.timedtext ||
mw.config.get("wgPageContentModel") !== "wikitext" ||
ns === nsIds.institution ) ) {
mw.config.get('wgAction') != 'view' ||
return;
mw.config.get( 'wgIsRedirect' )) ) {
}
return;
const pageName = mw.config.get('wgPageName');
}
var api = new mw.Api(),
if ( mobileMode ) {
request1 = api.get({action:'parse', page:pageName, prop:'categories'}),
mw.hook( 'wikipage.categories' ).add( main );
request2 = api.get({action:'query', titles:pageName, prop:'categories'});
} else {
$.when(request1, request2).then(function(data1, data2) {
main();
const obj1 = data1[0].parse.categories,
}
obj2 = data2[0].query.pages[mw.config.get( 'wgArticleId' )].categories;
 
var cats = ( obj1 ? Object.keys(obj1).map((key) => obj1[key]["*"]) : [] ),
function main() {
canonicalCats = ( obj2 ? Object.keys(obj2).map((key) => obj2[key].title) : [] );
const api = new mw.Api(),
if(canonicalCats.length === 0) {
categories = mw.config.get('wgCategories'),
mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript');
noVariants = categories.length === 0 || mobileMode,
return;
canonicalCats = categories.map(ele => 'Category:' + ele).join('|');
}
var request1 = api.get({action:'query',
action: 'query',
prop:'info',
titles: mw.config.get('wgPageName'),
inprop:'varianttitles',
prop: 'revisions|pageprops',
indexpageids:1,
rvprop: 'content',
titles:canonicalCats.join("|")})
rvslots: 'main',
.then(function(data) {
ppprop: 'defaultsort',
const ids = data.query.pageids;
formatversion: 2,
ids.forEach(function(ele) {
}), request2 = noVariants && $.Deferred().resolve() || api.get({
var catlink = $('#catlinks a[title="' + data.query.pages[ele].title + '"]');
action:'query',
const catVt = data.query.pages[ele].varianttitles;
prop: 'info',
if(!catVt) { return; }
inprop: 'varianttitles',
const catHans = catVt["zh-hans"].substring(3),
formatversion: 2,
catHant = catVt["zh-hant"].substring(3);
titles: canonicalCats,
if(cats.includes( catHans.replace(/ /g,'_') )) {
converttitles: 1
catlink.attr('title','Category:' + catHans);
});
catlink.attr('href',mw.util.getUrl('Category:' + catHans));
$.when(request1, request2).then(function(data1, data2) {
}
const pageInfo = data1[0].query.pages[0],
else {
obj1 = pageInfo.revisions[0].slots.main.content;
catlink.attr('title','Category:' + catHant);
window.hotcat_preload = obj1;
catlink.attr('href',mw.util.getUrl('Category:' + catHant));
mw.config.set( 'wgDefaultSortKey', (pageInfo.pageprops || {}).defaultsort || '' );
}
mw.hook( 'gadget.hotcat.preloaded' ).fire();
});
if ( noVariants ) {
mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript');
mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript');
});
return;
});
}
});
const obj2 = data2[0].query.pages,
}) (jQuery, mediaWiki);
cats = [...obj1.matchAll(/\[\[\s*(?:category|分类|分類)\s*:\s*(.*?)(?:\|.*)?\s*]]/ig)]
.map( ele => ele[1].charAt(0).toUpperCase() + ele[1].slice(1).replace(/_/g, ' ') );
obj2.forEach(function(ele) {
const catVt = ele.varianttitles;
if (!catVt) { return; }
const catHans = catVt['zh-cn'].substring(3),
catHant = catVt['zh-tw'].substring(3),
catlink = $('#catlinks a[title="Category:' + catHans + '"], #catlinks a[title="Category:' + catHant + '"]');
if (catlink.length === 0) { return; }
if (cats.includes( catHans )) {
catlink.attr('title','Category:' + catHans);
catlink.attr('href','/zh/Category:' + catHans);
} else {
catlink.attr('title','Category:' + catHant);
catlink.attr('href','/zh/Category:' + catHant);
}
});
mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript');
});
}
});
//</nowiki>
巡查豁免者、​界面管理员、​小部件编辑者
45

个编辑