MediaWiki:Common.js

来自WHY42
Riguz留言 | 贡献2024年10月23日 (三) 09:11的版本

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* see:
    https://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization 
 */

var customizeToolbar = function () {
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'inline-code': {
                label: 'Inline code', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//riguz.com/images/2/27/Code-tags.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=\"bash\" inline>",
                        post: "</syntaxhighlight>"
                    }
                }
            }
        }
    });
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'code': {
                label: 'Java', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//riguz.com/images/f/f7/Java-svgrepo-com.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=\"java\">\n",
                        post: "\n</syntaxhighlight>"
                    }
                }
            }
        }
    });
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'code': {
                label: 'Python', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//riguz.com/images/4/43/Python-file-svgrepo-com.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=\"python\">\n",
                        post: "\n</syntaxhighlight>"
                    }
                }
            }
        }
    });
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'code': {
                label: 'C++', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//riguz.com/images/0/01/File_type_cpp.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=\"cpp\">\n",
                        post: "\n</syntaxhighlight>"
                    }
                }
            }
        }
    });
    $('#wpTextbox1').wikiEditor('addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'code': {
                label: 'Rust', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//riguz.com/images/f/f7/Java-svgrepo-com.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=\"rust\">\n",
                        post: "\n</syntaxhighlight>"
                    }
                }
            }
        }
    });
};

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if (['edit', 'submit'].indexOf(mw.config.get('wgAction')) !== -1) {
    mw.loader.using('user.options').then(function () {
        // This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
        if (mw.user.options.get('usebetatoolbar') == 1) {
            $.when(
                mw.loader.using('ext.wikiEditor'), $.ready
            ).then(customizeToolbar);
        }
    });
}