跳转到内容

MediaWiki:Gadget-edit0.js

勤求古训,博采众方
鹿野耕云留言 | 贡献2025年11月12日 (三) 11:08的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
// [[en:MediaWiki:Gadget-edittop.js]]

(function() {
    'use strict';

    mw.loader.using(['mediawiki.util', 'jquery']).then(function() {
        const config = mw.config.get([
            'wgAction',
            'wgNamespaceNumber',
            'wgUserLanguage',
            'wgPageName'
        ]);

        if (!['view', 'purge'].includes(config.wgAction) || config.wgNamespaceNumber < 0) {
            return;
        }

        const EDIT_SUMMARY = '/* top */ ';
        const TITLES = {
            'zh': '编辑首段',
            'zh-hans': '编辑首段',
            'zh-hant': '編輯首段'
        };

        $(function() {
            const userLang = config.wgUserLanguage;
            const editTitle = TITLES[userLang] || '编辑首段';

            const $content = $('#content, #mw_content').first();
            const $firstEditSection = $content.find('span.mw-editsection:not(.plainlinks):first');

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

            const $clonedEditSection = $firstEditSection.clone();
            $('#mw_header h1, #content h1').first().append($clonedEditSection);

            $clonedEditSection.find('a').text(editTitle).each(function() {
                const $link = $(this);
                const originalHref = $link.attr('href') || '';
                let newHref;

                if (!/&(ve|)section=T/.test(originalHref)) {
                    newHref = originalHref.replace(/&(ve|)section=\d+/, `&$1section=0&summary=${encodeURIComponent(EDIT_SUMMARY)}`);
                } else if (/&vesection=/.test(originalHref)) {
                    newHref = mw.util.getUrl(config.wgPageName, {
                        veaction: 'edit',
                        vesection: 0,
                        summary: EDIT_SUMMARY
                    });
                } else {
                    newHref = mw.util.getUrl(config.wgPageName, {
                        action: 'edit',
                        section: 0,
                        summary: EDIT_SUMMARY
                    });
                }

                $link.attr('href', newHref);
            });
        });
    });
})();