মিডিয়াউইকি:Gadget-subjects.js

উইকিবই থেকে

লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।

  • ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
  • গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
  • ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
  • অপেরা: Ctrl-F5 টিপুন।
$(document).ready( function() {
	var $links = $( '#booklinks' ).find( 'a' ), titles, categories = [
		'সদ্য শুরু করা বই',
		'আংশিক বিকশিত বই',
		'অর্ধ-সমাপ্ত বই',
		'প্রায় সম্পূর্ণ হওয়া বই',
		'সম্পূর্ণ হওয়া বই',
		'নির্বাচিত বই',
		'মুদ্রণ সংস্করণসহ বই',
		'পিডিএফ সংস্করণ সহ বই'
	];

	function showSubjectMetadataCB(obj) {
		$.each( obj.query && obj.query.pages || [], function( id, page ) {
			var $link = [];

			if ( !page.categories ) {
				return;
			}

			$links.each( function() {
				var $this = $(this);
				if ( $this.attr( 'title' ) === page.title ) {
					$link = $this;
					return false;
				}
			});

			if ( !$link.length ) {
				return;
			}

			$.each( page.categories, function( key, cat) {
				var title = cat.title;

				switch ( title ) {
					case 'Category:সদ্য শুরু করা বই':
						$link.before( $( '<span/>' ).addClass( 'book-level-0' ) );
						break;
					case 'Category:আংশিক বিকশিত বই':
						$link.before( $( '<span/>' ).addClass( 'book-level-1' ) );
						break;
					case 'Category:অর্ধ-সমাপ্ত বই':
						$link.before( $( '<span/>' ).addClass( 'book-level-2' ) );
						break;
					case 'Category:প্রায় সম্পূর্ণ হওয়া বই':
						$link.before( $( '<span/>' ).addClass( 'book-level-3' ) );
						break;
					case 'Category:সম্পূর্ণ হওয়া বই':
						$link.before( $( '<span/>' ).addClass( 'book-level-4' ) );
						break;
					case 'Category:নির্বাচিত':
						$link.before( $( '<span/>' ).addClass( 'book-level-5' ) );
						break;
					case 'Category:মুদ্রণ সংস্করণসহ বই':
						$link.after( $( '<span/>' ).addClass( 'book-print' ) );
						break;
					case 'Category:পিডিএফ সংস্করণ সহ বই':
						$link.after( $( '<span/>' ).addClass( 'book-pdf' ) );
						break;
				}
			});
		});
	}

	if ( !$links.length ) {
		return;
	}

	titles = $.map( $links, function( link ) { return $(link).attr( 'title' ); } ).join( '|' );
	categories = 'Category:' + categories.join( '|Category:' );

	$.getJSON( mw.util.wikiScript( 'api' ), {
		'format':		'json',
		'action':		'query',
		'prop':			'categories',
		'clshow':		'hidden',
		'cllimit':		500,
		'clcategories':		categories,
		'titles':		titles
	}, showSubjectMetadataCB);
});