User:Vavilexxx/additions.js

// /** // */

// /** // */ // function runAsEarlyAsPossible(callback, $testElement, func) { //    func = func || $; //    $testElement = $testElement || $('#footer');

//    if ($testElement.length) { //        callback; //    } else { //        func(callback); //    } // }

// /** // */ // mw.config.set('tableSorterCollation', { //     'Ё': 'Е', //     'ё': 'е' // });

// /** // * Строки. // */ // let zeroSectionTip; // if (mw.config.get('wgUserLanguage') === 'en') { //    zeroSectionTip = 'Edit lead section'; // } else { //    zeroSectionTip = 'Править преамбулу'; // }

// /** // * ВП:Сворачиваемые блоки // */ // // Число раскрытых по умолчанию навигационных (и не только) шаблонов, если им задан параметр // // autocollapse. Участники могут переопределять это значение в личных JS. // let NavigationBarShowDefault; // if (typeof NavigationBarShowDefault === 'undefined') { //    NavigationBarShowDefault = 1; // }

// // Изолируем код из глобальной области видимости // (function { //    // Информативно предупреждаем об использовании устаревших классов (NavFrame и в будущем collapsible) //     function deprecatedClassWarning(name, $els) { //         if ($els.length === 0) { //             return; //         } //         mw.log.warn(`Используется устаревший класс .${ name }, замените на .mw-collapsible`, $els[0]); //         if ($els.length > 1) { //             $els.each((i, $el) => { //                if (i > 0) { //                    mw.log.warn($el); //                } //             }); //         } //     }

//    // table.collapsible

//    /** //      * Collapsible tables; reimplemented with mw-collapsible //     */ //     function makeCollapsibleMwCollapsible($content) { //        let $tables = $content //            .find('table.collapsible:not(.mw-collapsible)') //            .addClass('mw-collapsible');

//        $.each($tables, function(index, table) { //             // mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.'); //            if ($(table).hasClass('collapsed')) { //                 $(table).addClass('mw-collapsed'); //                 // mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.'); //            } //         }); //        if ($tables.length > 0) { //            mw.loader.using('jquery.makeCollapsible').then(function { //                 $tables.makeCollapsible; //             }); //        } //     } //     mw.hook('wikipage.content').add(makeCollapsibleMwCollapsible);

//    // div.NavFrame //    /** //      */ //     function makeNavFrameCollapsible($content) { //        let $divs = $content.find('div.NavFrame'); //        $divs.find('> div.NavContent, > div.NavPic').addClass('mw-collapsible-content');

//        $.each($divs, function(index, div) { //             if ($(div).hasClass('collapsed')) { //                 $(div).addClass('mw-collapsed'); //             } //             if (!$(div).hasClass('expanded')) { //                 $(div).addClass('autocollapse'); //             } //         }); //        if ($divs.length > 0) { //            deprecatedClassWarning('NavFrame', $divs); //            mw.loader.using('jquery.makeCollapsible', function { //                 $divs.makeCollapsible; //             }); //        } //     }

//    mw.hook('wikipage.content').add(makeNavFrameCollapsible);

//    /** //      */ //     function mwCollapsibleSetup($collapsibleContent) { //        let $element, //            $toggle, //            autoCollapseThreshold = NavigationBarShowDefault + 1; //        $.each($collapsibleContent, function(index, element) { //             $element = $(element); //             if ($element.hasClass('collapsible')) { //                 $element.find('tr:first > th:first').prepend($element.find('tr:first > * > .mw-collapsible-toggle')); //             }

//            // transfer the toggle to a different element //            if ($element.hasClass('NavFrame')) { //                $element.find('> .NavHead').append($element.find('> .mw-collapsible-toggle')); //            }

//            if ($collapsibleContent.length >= autoCollapseThreshold && $element.hasClass('autocollapse')) { //                $element.data('mw-collapsible').collapse; //            } else if ($element.hasClass('innercollapse')) { //                if ($element.parents('.outercollapse').length > 0) { //                    $element.data('mw-collapsible').collapse; //                } //             } //             // because of colored backgrounds, style the link in the text color //            // to ensure accessible contrast //            $toggle = $element.find('.mw-collapsible-toggle'); //            if ($toggle.length) { //                // Make the toggle inherit text color (Updated for T333357 2023-04-29) //                if ($toggle.parent[0].style.color) { //                    $toggle.css('color', 'inherit'); //                    $toggle.find('.mw-collapsible-text').css('color', 'inherit'); //                } //             } //         }); //     }

//    mw.hook('wikipage.collapsibleContent').add(mwCollapsibleSetup); // });

// /** // */ // mw.loader.using('ext.visualEditor.desktopArticleTarget.init').then(function { //     runAsEarlyAsPossible(function { //        function fixEditLinksForStableRevs(removeClickHandlers) { //            if ($('#ca-view.selected').length) { //                if (removeClickHandlers) { //                    $('#ca-ve-edit, .mw-editsection-visualeditor').off('click'); //                } //                 $('#ca-ve-edit a, .mw-editsection-visualeditor').each(function { //                     let href = $(this).attr('href'); //                     if (!/[?&]stable=0/.test(href)) { //                         $(this).attr('href', //                            href //                            .replace(/&veaction=edit/, '&stable=0&veaction=edit') //                            .replace(/&oldid=\d+/, '') //                        ); //                     } //                 }); //             } //         }

//        if ($('#ca-current').length && !/[?&](oldid|diff)=\d+/.test(location.search)) { //            fixEditLinksForStableRevs(true);

//            mw.hook('ve.deactivationComplete').add(function { //                 fixEditLinksForStableRevs(false); //             }); //        } //     }); // });

// mw.hook('ve.loadModules').add(function(addPlugin) { //    /** //      */ //     addPlugin(function { //        return mw.loader.using('ext.gadget.wikificator'); //    }); // });

// /** // * //  */ // function TOChidden { //    if (!$('.tochidden-wrapper').length) { //        return; //    }

//    mw.loader.using('mediawiki.toc', function { //         $('.tochidden-wrapper #toctogglecheckbox').prop('checked', true); //         $('.tochidden-wrapper').addClass('tochidden-done'); //     }); // }

// runAsEarlyAsPossible(TOChidden, $('#toc'), mw.hook('wikipage.content').add);

// /** // */ // mw.hook('wikipage.content').add(function { //     /** //      */ //     $('.reflist.columns').each(function { //        let clear = 'both', //            $refs = $(this).find('ol.references > li'); //        if ($refs.length <= 10) return; //        if ($refs.length <= 15 && $refs.text.length < 3000) { //            clear = 'left'; //        } //         $(this) //            .prevUntil('.mw-heading, h1, h2, h3, h4, h5, h6') //            .addBack //            .first //            .prev //            .css('clear', clear); //    }); // });

// /** // */ // mw.hook('ve.activationComplete').add(function { //     mw.loader.load('ext.gadget.summaryButtons'); // });

/*WikiEditor/Викификатор*/ if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { // mw.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript' ); mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Vavilexxx/wikify.js&action=raw&ctype=text/javascript'); }

let customizeToolbarwikificator = function { $('#wpTextbox1').wikiEditor('addToToolbar', {       'section': 'main', // 'main', 'advanced'        'group': 'format', // 'format', 'format'        'tools': {            'wikify': {                label: 'Викификатор',                type: 'button',                icon: '//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png',                action: {                    type: 'callback',                    execute: function(context) {                        Wikify;                    }                }            }        }    }); };

if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { mw.loader.using('user.options', function {       if (mw.user.options.get('usebetatoolbar')) {            mw.loader.using('ext.wikiEditor.toolbar', function { $(document).ready(customizeToolbarwikificator); });       }    }); }

// Дополнение к викификатору window.wfPlugins = window.wfPlugins || []; window.wfPlugins.push(function(txt, r) {   // здесь ваши замены    // Например: r(//g, ' ');    r(/Категория/g, 'Category');    r(/Файл/g, 'File');    r(/’/g, '\'');    // r(/xxx/g, 'xxx'); });