LLWiki正在建设中,欢迎加入我们!
“MediaWiki:Gadget-HotCat-zh-core.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
第1行: | 第1行: | ||
(function( |
$(function() { |
||
const ns = mw.config.get('wgNamespaceNumber'); |
|||
$(function() { |
|||
if( mw.config.get('wgCanonicalSpecialPageName') === 'Upload' ) { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
ns === 828 || // Module (Lua) |
|||
⚫ | |||
ns === 6 && !mw.config.get('wgArticleId') || // Non-existing file pages |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
const pageName = mw.config.get('wgPageName'); |
|||
var api = new mw.Api(), |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
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; |
return; |
||
} |
} |
||
api.get({action:'query', prop:'info', inprop:'varianttitles', formatversion:2, titles:canonicalCats.join("|")}) |
|||
⚫ | |||
.then(function(data) { |
|||
⚫ | |||
⚫ | |||
var catlink = $('#catlinks a[title="' + ele.title + '"]'); |
|||
const catVt = ele.varianttitles; |
|||
if(!catVt) { return; } |
|||
const catHans = catVt["zh-hans"].substring(3), |
|||
catHant = catVt["zh-hant"].substring(3); |
|||
⚫ | |||
⚫ | |||
catlink.attr('title','Category:' + catHans); |
|||
catlink.attr('href','/zh/Category:' + catHans); |
|||
} |
} |
||
else { |
|||
catlink.attr('title','Category:' + catHant); |
|||
catlink.attr('href','/zh/Category:' + catHant); |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
var catlink = $('#catlinks a[title="' + ele.title + '"]'); |
|||
const catVt = ele.varianttitles; |
|||
if(!catVt) { return; } |
|||
const catHans = catVt["zh-hans"].substring(3), |
|||
catHant = catVt["zh-hant"].substring(3); |
|||
⚫ | |||
catlink.attr('title','Category:' + catHans); |
|||
catlink.attr('href','/zh/Category:' + catHans); |
|||
⚫ | |||
⚫ | |||
catlink.attr('title','Category:' + catHant); |
|||
catlink.attr('href','/zh/Category:' + catHant); |
|||
⚫ | |||
⚫ | |||
⚫ | |||
}); |
}); |
||
⚫ | |||
}); |
}); |
||
}); |
}); |
||
}); |
|||
}) (jQuery, mediaWiki); |
2020年11月8日 (日) 11:23的版本
$(function() { const ns = mw.config.get('wgNamespaceNumber'); if( mw.config.get('wgCanonicalSpecialPageName') === 'Upload' ) { mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript'); return; } if( ns < 0 && // Special pages; Special:Upload is handled differently ns === 10 || // Templates ns === 274 || // Widget ns === 828 || // Module (Lua) ns === 8 || // MediaWiki ns === 6 && !mw.config.get('wgArticleId') || // Non-existing file pages ns === 2 || // User ns % 2 === 1 || // Talk page mw.config.get("wgPageContentModel") !== "wikitext" || mw.config.get('wgAction') != 'view' ) { return; } const pageName = mw.config.get('wgPageName'); var api = new mw.Api(), request1 = api.get({action:'parse', page:pageName, prop:'wikitext', formatversion:2}), request2 = api.get({action:'query', titles:pageName, prop:'categories', formatversion:2, cllimit:'max'}); $.when(request1, request2).then(function(data1, data2) { const obj1 = data1[0].parse.wikitext, obj2 = data2[0].query.pages[0].categories; var cats = [...obj1.matchAll(/\[\[(?:category|分类|分類):(.*?)(?:\|.*)?]]/ig)].map((ele) => ele[1]), canonicalCats = ( obj2 ? Object.keys(obj2).map((key) => obj2[key].title) : [] ); if(canonicalCats.length === 0) { mw.loader.load('/zh?title=mediawiki:gadget-HotCat.js&action=raw&ctype=text/javascript'); return; } api.get({action:'query', prop:'info', inprop:'varianttitles', formatversion:2, titles:canonicalCats.join("|")}) .then(function(data) { data.query.pages.forEach(function(ele) { var catlink = $('#catlinks a[title="' + ele.title + '"]'); const catVt = ele.varianttitles; if(!catVt) { return; } const catHans = catVt["zh-hans"].substring(3), catHant = catVt["zh-hant"].substring(3); if(cats.includes( catHans.replace(/ /g,'_') ) || 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'); }); }); });