ব্যবহারকারী:Bodhisattwa/cleanup.js

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

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

/* global $, pathoschild */
//set some global parameters for selection
/**
 * TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor.
 * @see https://meta.wikimedia.org/wiki/TemplateScript
 * @update-token [[File:pathoschild/templatescript.js]]
 */
mw.loader.load('//bn.wikisource.org/w/index.php?title=মিডিয়াউইকি:Pathoschild.templatescript.bn.js&action=raw&ctype=text/javascript');
$.ajax('//bn.wikisource.org/w/index.php?title=মিডিয়াউইকি:Pathoschild.templatescript.js&action=raw&ctype=text/javascript', { dataType:'script', cache:true }).then(function() {
    pathoschild.TemplateScript.add([
        {
            name: 'পরিষ্কার করুন',
            position: 'cursor',
            script: function(editor) {
                var header = editor.forField('#wpHeaderTextbox');
                var footer = editor.forField('#wpFooterTextbox');
                var isPageNS = mw.config.get('wgNamespaceNumber') == 104;
                editor
                    // Digitized by Google (kill)
                    .replace(/Digitized[\s\n]+by[^\n]+\n(Google)?/, '')
                    // remove trailing spaces at the end of each line
                    .replace(/ +\n/g, '\n')
                    // remove trailing whitespace preceding a hard line break
                    .replace(/ +<br *\/?>/g, '<br />')
                    // remove one break preceding two hard line break
                    .replace(/ <br *\/?>+<br *\/?>/, '<br />')
                    // remove trailing whitespace at the end of page text
                    .replace(/\s+$/g, '')
                    // remove trailing spaces at the end of refs
                    .replace(/ +<\/ref>/g, '</ref>')
                    // replace " with “ at the start of refs
                    .replace(/<ref>"/g, '<ref>“')
                    // replace " with “ at the end of refs
                    .replace(/"<\/ref>/g, '”</ref>')
                    // remove trailing spaces at the end of template calls
                    .replace(/ +}}/g, '}}')
                    // convert double-hyphen to mdash (avoiding breaking HTML comment syntax)
                    .replace(/([^\!])--([^>])/g, '$1—$2')
                    // remove spacing around mdash, but only if it has spaces on both sides
                    // (we don't want to remove the trailing space from "...as follows:— ",
                    // bearing in mind that the space will already be gone if at end of line).
                    .replace(/ +— +/g, '—')
                    // join words that are hyphenated across a line break
                    // (but leave "|-" table syntax alone)
                    .replace(/([^\|])-\n/g, '$1')
                    // remove unwanted spaces around punctuation marks
                    .replace(/ ([);:\।?!,])/g, '$1')
                    // remove unwanted spaces after bracket start
                    .replace(/([(])+ /g, '$1')
                    // remove unwanted spaces around ॥
                    .replace(/ ([॥])/g, '$1')
                    // – to —
                    .replace(/–/g, '—')
                    // replace {{gap}}- with {{gap}}—
                    .replace(/{{gap}}-/g, '{{gap}}—')
                    // replace {{gap}}‘ with {{gap}}‘
                    .replace(/{{gap}}‘/g, '{{gap}}‘')
                    // replace {{gap}}" with {{gap}}“
                    .replace(/{{gap}}"/g, '{{gap}}“')
                    // ৷ to ।
                    .replace(/৷/g, '।')
                    // ।। to ॥
                    .replace(/।।/g, '॥')
                    // ৷৷ to ॥
                    .replace(/৷৷/g, '॥')
                    // remove unwanted spaces around Bengali diactics marks
                    .replace(/ ([া ি ী ু ূ ৃ ে ৈ ো ৌ])/g, '$1')
                    // replace র্তা with তাঁ at the beginning of words like তাঁর তাঁহার etc
                    .replace(/ র্তা/g, ' তাঁ')
                    // similarly for যাঁর যাঁহার etc
                    .replace(/ র্যা/g, ' যাঁ')
                    // fix nukta (useful with browser spell-checkers
                    .replace(/য়/g, '\u09DF')
                    .replace(/ড়/g, '\u09DC')
                    .replace(/ঢ়/g, '\u09DD')
                    // fix o
                    .replace(/াে/g, 'ো')
                    // fix candrabindu placement
                    .replace(/(ঁ)([া ি ী ু ূ ৃ ে ৈ ো ৌ])/g, '$2$1')
                    // replace য়৷ with য়া
                    .replace(/য়৷/g, 'য়া')
                    // replace য় with য়
                    .replace(/য়/g, 'য়')
                    // replace ৰ with র
                    .replace(/ৰ/g, 'র')
                    .replace(/ৰ্‌/g, 'র্‌')
                    .replace(/ক্ৰ/g, 'ক্র')
                    .replace(/খ্ৰ/g, 'খ্র')
                    .replace(/গ্ৰ/g, 'গ্র')
                    .replace(/ঘ্ৰ/g, 'ঘ্র')
                    .replace(/জ্ৰ/g, 'জ্র') 
                    .replace(/ত্ৰ/g, 'ত্র') 
                    .replace(/দ্ৰ/g, 'দ্র') 
                    .replace(/প্ৰ/g, 'প্র')
                    .replace(/ফ্ৰ/g, 'ফ্র') 
                    .replace(/ব্ৰ/g, 'ব্র') 
                    .replace(/ভ্ৰ/g, 'ভ্র')
                    .replace(/শ্ৰ/g, 'শ্র') 
                    .replace(/ৰ্ণ/g, 'র্ণ') 
                    .replace(/ৰ্ত্ত/g, 'র্ত্ত')
                    .replace(/ৰ্থ/g, 'র্থ') 
                    .replace(/ৰ্দ্দ/g, 'র্দ্দ')
                    .replace(/ৰ্ব্ব/g, 'র্ব্ব') 
                    .replace(/ৰ্ভ/g, 'র্ভ') 
                    .replace(/ৰ্ম্ম/g, 'র্ম্ম') 
                    .replace(/ৰ্য/g, 'র্য') 
                    .replace(/ৰ্য্য/g, 'র্য্য')
                    .replace(/ন্ট/g, 'ণ্ট')
                    .replace(/ন্ঠ/g, 'ণ্ঠ')
                    .replace(/ন্ড/g, 'ণ্ড')
                    .replace(/ন্ঢ/g, 'ণ্ঢ')
                    // fix issues with aa
                    .replace(/অা/g, 'আ')
                    .replace(/\u09DF৷/g, '\u09DFা')
                    // replace ।' with ।’
                    .replace(/।' /g, '।’ ')
                    // replace " with “
                    .replace(/ "/g, ' “')
                    // replace {{gap}}" with {{gap}}“
                    .replace(/{{gap}}"/g, '{{gap}}“')
                    // replace " with ”
                    .replace(/" /g, '” ')
                    // replace ।" with ।”
                    .replace(/।" /g, '।” ')
                    // convert double-hyphen to mdash (avoiding breaking HTML comment syntax)
                    .replace(/([^\!])--([^>])/g, '$1—$2')
                    // remove trailing whitespace at the end of input
                    .replace(/\s+$/g, '');
                    // stuff to do only if the page doesn't contain a <poem> tag:
                    if (editor.get().indexOf("<poem>") === -1){
                        editor
                        // remove single line breaks; preserve multiple.
                        .replace(/([^>}\n])\n([^<{\|\n])/g, '$1 $2')
                        // collapse sequences of spaces into a single space
                        .replace(/  +/g, ' ');
                    }
                }
            }
       ]
    );
	pathoschild.TemplateScript.add(
		[
			// nop
			{ name: '{{nop}}', template:'\n{{nop}}', position: 'after'}

		]
	);
});