ميدياويكي:Gadget-MobileCategories.js
المظهر
ملاحظة: بعد النشر، أنت قد تحتاج إلى إفراغ الكاش الخاص بمتصفحك لرؤية التغييرات.
- فايرفوكس / سافاري: أمسك Shift أثناء ضغط Reload، أو اضغط على إما Ctrl-F5 أو Ctrl-R (⌘-R على ماك)
- جوجل كروم: اضغط Ctrl-Shift-R (⌘-Shift-R على ماك)
- إنترنت إكسبلورر/إيدج: أمسك Ctrl أثناء ضغط Refresh، أو اضغط Ctrl-F5
- أوبرا: اضغط Ctrl-F5.
/* المصدر: [[w:en:Gadget-MobileCategories.js]] */
/* التاريخ: الخميس 16 يوليو 2020 */
/* المهمة: إظهار تصنيفات المحتوى في نسخة الهاتف المحمول */
mw.hook( 'wikipage.content' ).add( function() {
var api = new mw.Api();
var apiRequest = api.get( {
'action':'query',
'titles': mw.config.get('wgPageName'),
'prop': 'categories',
'clprop': 'sortkey|hidden',
'cllimit': 50,
'indexpageids': true,
'formatversion': 2
} );
var apiRequest2 = api.loadMessagesIfMissing( [ 'pagecategories', 'colon-separator' ] );
$.when( apiRequest, apiRequest2 ).done( function( data ) {
var categories = [],
response1Data = data[0],
response2Data = data[1];
if( !response1Data.query.pages[0].categories ) {
return;
}
function categoryHtmlGenerator(element, index, array) {
if( element.hidden ) {
return;
}
var title = new mw.Title( element.title, mw.config.get( 'wgNamespaceIds' ).file );
categories.push(
$( '<a>' ).attr( {
'href': mw.util.getUrl( element.title )
} ).append(
document.createTextNode( title.getMainText() )
).get( 0 )
);
categories.push( '، ' );
}
response1Data.query.pages[0].categories.forEach( categoryHtmlGenerator );
if( categories.length === 0 ) {
return;
}
categories.pop(); //remove the last comma
categories.unshift( document.createTextNode(
mw.message( 'pagecategories' ).escaped() + mw.message( 'colon-separator' ).escaped() + ' '
) );
$('.printfooter')
.after( $( '<div>' )
.addClass( 'catlinks' )
.attr( 'id', 'catlinks' )
.data( 'mw', 'interface' )
.append( $( '<div>' )
.attr( 'id', 'mw-normal-catlink' )
.append( categories )
)
);
} );
} );