MediaWiki:Common.js

From Miranda NG
Revision as of 23:59, 19 December 2017 by Goraf (talk | contribs) (add custom snippets to wikieditor (for translation and links))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.
/* Any JavaScript here will be loaded for all users on every page load. */

var customizeToolbar = function() {
  /* Your code goes here */

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	  'sections': {
	    'snippets': {
	      'type': 'booklet',
	      'label': 'Snippets',
	      'pages': {
	        'section-translation': {
	          'label': 'translation',
	          'layout': 'characters',
	          'characters': [
	            '<languages/>',
	            {
	              'action': {
	                'type': 'encapsulate',
	                'options': {
	                  'pre': '&lt;translate>',
	                  'peri': '',
	                  'post': '&lt;/translate>'
	                }
	              },
	              'label': '&lt;translate>&lt;/translate>'
	            },
	            {
	              'action': {
	                'type': 'encapsulate',
	                'options': {
	                  'pre': '&lt;tvar|>',
	                  'peri': '',
	                  'post': '&lt;/>'
	                }
	              },
	              'label': '&lt;tvar|>&lt;/>'
	            },
	            '&#123;&#123;#translation:&#125;&#125;'
	          ]
	        },
	        'section-links': {
	          'label': 'Wikilinks',
	          'layout': 'characters',
	          'characters': [
	            {
	              'action': {
	                'type': 'encapsulate',
	                'options': {
	                  'pre': '[[Category:',
	                  'peri': '',
	                  'post': ']]'
	                }
	              },
	              'label': '[[Category:]]'
	            },
	            {
	              'action': {
	                'type': 'encapsulate',
	                'options': {
	                  'pre': '[[File:',
	                  'peri': '',
	                  'post': ']]'
	                }
	              },
	              'label': '[[File:]]'
	            }
	          ]
	        }
	      }
	    }
	  }
	} );
};

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
  mw.loader.using('user.options', 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.toolbar'), $.ready
      ).then(customizeToolbar);
    }
  });
}