Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* global $, pathoschild */

/**
 * 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]]
 */
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
    pathoschild.TemplateScript.add([
        {
            name: 'clean up',
            script: function(editor) {
                editor
                    // remove trailing whitespace at the end of each line
                    .replace(/ \n/g, '\n')

                                        // 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 trailing whitespace at the end of page text
                    .replace(/\s+$/g, '')

                    // remove trailing spaces at the end of refs
                    .replace(/ +<\/ref>/g, '</ref>')

                    // remove trailing spaces at the end of template calls
                    .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 around ॥
                    .replace(/ ([॥])/g, '$1')

                    // – to —
                    .replace(/–/g, '—')

                    // ।। to ॥
                    .replace(/।।/g, '॥')

                    // remove unwanted spaces around Bengali diactics marks
                    .replace(/ ([া ি ী ু ূ ৃ ে ৈ ো ৌ])/g, '$1')

                                        // remove unwanted spaces around Bengali ঁা diactics marks
                    .replace(/ ঁা/g, '$1')

                    // replace র্তা with তাঁ at the beginning of words like তাঁর তাঁহার etc
                    .replace(/ র্তা/g, ' তাঁ')

                                        // replace তঁা with তাঁ at the beginning of words like তাঁর তাঁহার etc
                    .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, ' ');


                }
                    
            }
        }
    ]);
});


/**
 * 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]]
 */
// <nowiki>
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
    pathoschild.TemplateScript.add([
        // add your own templates or scripts here
        { name: 'স্বাগতম', template: '{{subst:স্বাগতম}} ~~~~', position: 'after', editSummary: 'স্বাগতম!', forNamespaces: 'user talk' },
        { name: 'Uw-scan', template: '{{subst:Uw-scan}} ~~~~', position: 'after', editSummary: 'স্ক্যান ছাড়া পাতা ', forNamespaces: 'user talk' },
        { name: 'Uw-van', template: '{{subst:Uw-van}} ~~~~', position: 'after', editSummary: 'ধ্বংসপ্রবণতা ', forNamespaces: 'user talk'},
        { name: 'Uw-test', template: '{{subst:Uw-test}} ~~~~', position: 'after', editSummary: 'পরীক্ষামূলক সম্পাদনা   ', forNamespaces: 'user talk'}
    ]);
});
// </nowiki>