45
个编辑
LLWiki正在建设中,欢迎加入我们!
小 (empty sortkey) |
小 (prefer zh-cn instead of zh-hans etc.) |
||
(未显示同一用户的4个中间版本) | |||
*/
$(function() {
if ( mw.config.get('wgCanonicalSpecialPageName') !== 'Upload' &&
}▼
if ( mobileMode ) {
mw.hook( 'wikipage.categories' ).add( main );▼
} else {▼
main();▼
}
function main() {
const
▲ (ns < 0 || // Special pages
▲ ns === 10 || // Templates
▲ ns === 274 || // Widget
▲ ns === 828 || // Module (Lua)
▲ ns === 8 || // MediaWiki
▲ ns === 2 || // User
▲ ns % 2 === 1 || // Talk page
▲ !mw.config.get('wgArticleId') || // Non-existing file pages
▲ mw.config.get("wgPageContentModel") !== "wikitext" ||
▲ mw.config.get('wgAction') != 'view' ||
▲ mw.config.get( 'wgIsRedirect' )) ) {
▲ return;
}▼
▲ if ( categories.length === 0) {
mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript');▼
return;▼
▲ const pageName = mw.config.get('wgPageName'),
canonicalCats = categories.map(ele => 'Category:' + ele).join('|');
var request1 = api.get({
action: 'query',
titles:
prop: 'revisions|pageprops',
rvprop: 'content',
ppprop: 'defaultsort',
formatversion: 2,
}), request2 = noVariants && $.Deferred().resolve() || api.get({
action:'query',
prop: 'info',
inprop: 'varianttitles',
formatversion: 2,
titles: canonicalCats,
converttitles: 1
});
$.when(request1, request2).then(function(data1, data2) {
const pageInfo = data1[0].query.pages[0],
obj1 = pageInfo.revisions[0].slots.main.content
obj2 = data2[0].query.pages,▼
cats = [...obj1.matchAll(/\[\[\s*(?:category|分类|分類)\s*:\s*(.*?)(?:\|.*)?\s*]]/ig)]▼
.map( ele => ele[1].charAt(0).toUpperCase() + ele[1].slice(1).replace(/_/g, ' ') );▼
window.hotcat_preload = obj1;
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');
▲ return;
▲ }
▲ 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[
catHant = catVt[
catlink = $('#catlinks a[title="Category:' + catHans + '"], #catlinks a[title="Category:' + catHant + '"]');
if (catlink.length === 0) { return; }
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');
});
▲ }
▲ if ( mw.loader.getState( 'ext.gadget.MobileCategories' ) !== null ) {
▲ mw.hook( 'wikipage.categories' ).add( main );
▲ } else {
▲ main();
}
});
|