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

টীকা: সংরক্ষণ করার পর, পরিবর্তনসমূহ তৎক্ষণাৎ নাও দেখাতে পারে। আপনার ব্রাউজারের ক্যাশ কিভাবে এড়াবেন তা জানতে এখানে ক্লিক করুন।
  • ফায়ারফক্স / সাফারি: Shift ধরে রাখা অবস্থায়পুনঃলোড করুন-এ ক্লিক করুন, অথবা Ctrl-F5 বা Ctrl-R (ম্যাক-এ ⌘-R) চাপুন
  • গুগল ক্রোম: Ctrl-Shift-R (ম্যাক-এ ⌘-Shift-R) চাপুন
  • ইন্টারনেট এক্সপ্লোরার: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 চাপুন
  • অপেরা: মেনু → ব্যবস্থাপনাসমূহ-এ যান (ম্যাকে অপেরা → পছন্দসমূহ) এবং এরপর গোপনীয়তা ও সুরক্ষা → ব্রাউজিং-এর তথ্য পরিষ্কার করুন → ক্যাশে করা ছবি ও ফাইলগুলি

অন্যান্য ব্রাউজার সম্পর্কে বিশদ নির্দেশাবলীর জন্য, উইকিপিডিয়া:আপনার ক্যাশে বাইপাস করুন দেখুন।

/**
 * Easy Labeled Section Transclusion
 */

function restore_lst(){
	var editbox = document.getElementById('wpTextbox1');
	var search = /##[\s]*(.*?)[\s]*##[\s]*\n/;
	var a = editbox.value.split(search);
	var s = a[0];
	var m = parseInt(a.length/2);
	for( var i = 0 ; i < m ; i++ ) {
		var title = a[i*2+1];
		// Ensure we'll don't get twice quote.
		title = title.replace(/^"(.*)"$/, "$1");
		title = title.replace(/^'(.*)'$/, "$1");
		var content = a[i*2+2]; 
		if(title && content.substring(0,2)=='{|' ) content = '\n' + content;
		if(title) s = s + '<section begin="' + title + '" />' + content + '<section end="' + title + '" />\n';
		else s = s + content;
		/* if( i < m-1 ) s = s + "----\n"; */
	}
	editbox.value = s;
}

/**
 * easy lst : hide section markers
 */
function easy_lst() {
	var editbox = document.getElementById('wpTextbox1');
	if(editbox) {

	var search = /<section\sbegin=[\s]*(.*?)[\s]*\/>/;
	var a = editbox.value.split(search);
	var s = a[0];
	var ok = true;
		for( var i = 0 ; i < parseInt(a.length/2) ; i++ ) {
			var title = a[i*2+1];
			var content = a[i*2+2];
			var r2 = /^([\s\S]*?)<section\send=(.*?)\/>(\n|)[\s]*([\s\S]*?)$/;
			var m2 = content.match(r2);
			if( m2 ) {
				title = title.replace(/^"(.*)"$/, "$1");
				title = title.replace(/^'(.*)'$/, "$1");
				if(s && s.charAt(s.length-1)!='\n' && s.charAt(s.length-1)!='|' ) s = s+'\n';
				s = s + "## " + title + " ##\n"+ m2[1] ;
				if( m2[4] ) {
					if( m2[4]!='----\n' ) {
						if(s && s.charAt(s.length-1)!='\n' ) s = s+'\n';
						s = s + "####\n" + m2[4] ;
					}
				}
			} else {
				ok = false;	/* alert("error"+title); */
			}
		}
		if(ok) {
			editbox.value = s;
		}
		var saveButton = document.getElementById("wpSave");
		var previewButton = document.getElementById("wpPreview");
		var diffButton = document.getElementById("wpDiff");
		if(saveButton){
			saveButton.onclick = restore_lst;
			previewButton.onclick = restore_lst;
			diffButton.onclick = restore_lst;
		}
	}
}

function easy_lst_setup() {
	if (self.proofreadpage_raw_lst || mw.config.get( 'wgCanonicalNamespace' ) !== 'Page')
		return;

	if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
		mw.loader.using('ext.proofreadpage.page', function () {
		// mimic code in the extension, there is a conditionnal deps on ext.wikiEditor.toolbar.
		if (mw.user.options.get('usebetatoolbar') && $.inArray('ext.wikiEditor', mw.loader.getModuleNames()) > -1) {
		mw.loader.using('ext.wikiEditor', function() {
			easy_lst();
		});
			} else {
				easy_lst();
			}
		});
	}
}
$( easy_lst_setup );