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