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. */

// added for customizing WikiEditor toolbar

var customizeToolbar = function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'sections': {
		'customtags': {
			'type': 'toolbar', // Can also be 'booklet'
			'label': 'Custom tags'
			// or 'labelMsg': 'section-emoticons-label' for a localized label
		}
	}
} );

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'section': 'customtags',
	'groups': {
		'faces': {
			'label': 'Tags' // or use labelMsg for a localized label, see above
		}
	}
} );

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'section': 'customtags',
	'group': 'faces',
	'tools': {
		'blockhanja': {
			label: 'blockhanja',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-blockhanja.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<span class="blockhanja">',
					post: '</span>'
				}
			}
		},
		'mw-geshi': {
			label: 'mw-geshi',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-mw-geshi.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<div class="mw-geshi">',
					post: "</div>"
				}
			}
		},
		'code': {
			label: 'code',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-code.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "<code>",
					post: "</code>"
				}
			}
		},
		'package': {
			label: 'package',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-package.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<span class="package">',
					post: "</span>"
				}
			}
		},
		'shellpath': {
			label: 'shell/path',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-shell-path.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<span class="shell">',
					post: "</span>"
				}
			}
		},
		'clifull': {
			label: 'cli-flushed',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-cli.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<div class="cli">',
					post: "</div>"
				}
			}
		},
		'outputfull': {
			label: 'output-flushed',
			type: 'button',
			icon: '//michaelhan.net/private/assets/tag-output.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: '<pre class="output">',
					post: "</pre>"
				}
			}
		}
	}
} );

};

/* 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 );
		}
	} );
}
// Add the customizations to LiquidThreads' edit toolbar, if available
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );