Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/*shamelessly stolen (and modified to feed my needs) from [[:en:User:Writ Keeper/Scripts/legacyToolbar.js]]*/

( function () {
	var toolbar, isReady, $toolbar, queue, slice, $currentFocused;

	
	function insertButton( button, speedTip, tagOpen, tagClose, sampleText, imageId ) {
		var $button;

		if ( typeof button !== 'object' ) {
			button = {
				imageFile: button,
				speedTip: speedTip,
				tagOpen: tagOpen,
				tagClose: tagClose,
				sampleText: sampleText,
				imageId: imageId
			};
		}

		if ( button.imageFile ) {
			$button = $( '<img>' ).attr( {
				src: button.imageFile,
				alt: button.speedTip,
				title: button.speedTip,
				id: button.imageId || undefined,
				'class': 'mw-toolbar-editbutton'
			} );
		} else {
			$button = $( '<div>' ).attr( {
				title: button.speedTip,
				id: button.imageId || undefined,
				'class': 'mw-toolbar-editbutton'
			} );
		}

		$button.click( function ( e ) {
			if ( button.onClick !== undefined ) {
				button.onClick( e );
			} else {
				toolbar.insertTags( button.tagOpen, button.tagClose, button.sampleText );
			}

			return false;
		} );

		$toolbar.append( $button );
	}

	isReady = false;
	$toolbar = false;

	queue = [];
	slice = queue.slice;

	toolbar = {

		
		addButton: function () {
			if ( isReady ) {
				insertButton.apply( toolbar, arguments );
			} else {
				// Convert arguments list to array
				queue.push( slice.call( arguments ) );
			}
		},

		
		addButtons: function ( buttons ) {
			if ( !Array.isArray( buttons ) ) {
				buttons = slice.call( arguments );
			}
			if ( isReady ) {
				buttons.forEach( function ( button ) {
					insertButton( button );
				} );
			} else {
				// Push each button into the queue
				queue.push.apply( queue, buttons );
			}
		},


		insertTags: function ( tagOpen, tagClose, sampleText ) {
			if ( $currentFocused && $currentFocused.length ) {
				$currentFocused.textSelection(
					'encapsulateSelection', {
						pre: tagOpen,
						peri: sampleText,
						post: tagClose
					}
				);
			}
		}
	};

	toolbar.init = $.noop;

	mw.toolbar = toolbar;

	$( function () {
		var $textBox, i, button;

		$currentFocused = $( '#wpTextbox1' );

		$toolbar = $( '#toolbar' );

		if ( $toolbar.length === 0 ) {
			$textBox = $( '#wpTextbox1' );
			if ( $textBox.length === 0 ) {
				return;
			}
			$toolbar = $( '<div>' ).attr( { id: 'toolbar' } );
			$toolbar.insertBefore( $textBox );
		}

		for ( i = 0; i < queue.length; i++ ) {
			button = queue[ i ];
			if ( Array.isArray( button ) ) {

				insertButton.apply( toolbar, button );
			} else {

				insertButton( button );
			}
		}

		queue.length = 0;

		isReady = true;
		mw.hook("mw.toolbar").fire();

		$( document ).on( 'focus', 'textarea, input:text', function () {
			$currentFocused = $( this );
		} );
	} );

}() );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/c/c0/Button_link.png",
    speedTip: "Internal link",
    tagOpen: "[[",
    tagClose: "]]",
    sampleText: "",
    imageId: "mw-editbutton-link"
});


mw.toolbar.addButton( 
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png",
    speedTip: "Category",
    tagOpen: "[[Category:",
    tagClose: "]]\n",
    sampleText: "",
    imageId: "mw-editbutton-cat"

});
mw.toolbar.addButton( 
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/a/ac/Button_redir_rtl.png",
    speedTip: "Category Redirect",
    tagOpen: "{\{Category redirect|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-catredir"

});
mw.toolbar.addButton(
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/97/Button_LINKT1.png",
    speedTip: "Template",
    tagOpen: "{{",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-template"
});

mw.toolbar.addButton(
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/78/PBN.png",
    speedTip: "People by name",
    tagOpen: "{\{People by name|",
    tagClose: "||||}}\n",
    sampleText: "",
    imageId: "mw-editbutton-peoplebyname"
});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/b/be/DFLTS.png",
    speedTip: "Defaultsort",
    tagOpen: "{\{DEFAULTSORT:",
    tagClose: "}}\n",
    sampleText: "",
    imageId: "mw-editbutton-Defaultsort"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/f/fa/WdI.png",
    speedTip: "Wikidata infobox",
    tagOpen: "{\{Wikidata Infobox}}\n",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-WdI"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/9/98/Button_CSA.png",
    speedTip: "Cat see also",
    tagOpen: "{\{Cat see also|",
    tagClose: "}}\n",
    sampleText: "",
    imageId: "mw-editbutton-catseealso"

});
mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/d/db/Births.png",
    speedTip: "Births",
    tagOpen: "{\{Cat see also|Deaths in }}\n{\{Wikidata Infobox}}\n[\[Category:Births in France by city|",
    tagClose: "]]\n[\[Category:Births in | ]]\n[\[Category:People of |°]]\n",
    sampleText: "",
    imageId: "mw-editbutton-births"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/f/f6/Deaths.png",
    speedTip: "Deaths",
    tagOpen: "{\{Cat see also|Births in }}\n{\{Wikidata Infobox}}\n[\[Category:Deaths in France by city|",
    tagClose: "]]\n[\[Category:Deaths in | ]]\n[\[Category:People of |†]]\n",
    sampleText: "",
    imageId: "mw-editbutton-deaths"

});
mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/d/db/Births.png",
    speedTip: "Births2",
    tagOpen: "{\{Cat see also|Deaths in }}\n{\{Wikidata Infobox}}\n[\[Category:Births in France by city|",
    tagClose: "]]\n[\[Category:Births in  by city|]]\n[\[Category:People of |°]]\n",
    sampleText: "",
    imageId: "mw-editbutton-births"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/f/f6/Deaths.png",
    speedTip: "Deaths2",
    tagOpen: "{\{Cat see also|Births in }}\n{\{Wikidata Infobox}}\n[\[Category:Deaths in France by city|",
    tagClose: "]]\n[\[Category:Deaths in  by city|]]\n[\[Category:People of |†]]\n",
    sampleText: "",
    imageId: "mw-editbutton-deaths"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/f/fb/Button_°US_01.png",
    speedTip: "Births US",
    tagOpen: "{\{Cat see also|Deaths in }}\n{\{Wikidata Infobox}}\n[\[Category:Births in the United States by city|",
    tagClose: "]]\n[\[Category:Births in  by city|]]\n[\[Category:Births in | ]]\n[\[Category:People of |°]]",
    sampleText: "",
    imageId: "mw-editbutton-birthsUS"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/8/86/Button_†US.png",
    speedTip: "Deaths US",
    tagOpen: "{\{Cat see also|Births in }}\n{\{Wikidata Infobox}}\n[\[Category:Deaths in the United States by city|",
    tagClose: "]]\n[\[Category:Deaths in  by city|]]\n[\[Category:Deaths in | ]]\n[\[Category:People of |†]]\n",
    sampleText: "",
    imageId: "mw-editbutton-deathsUS"

});
mw.toolbar.addButton( 
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ee/ButtonEditOly.png",
    speedTip: "Olympians",
    tagOpen: "{\{Summer Olympians|",
    tagClose: "}}\n{\{Wikidata Infobox}}",
    sampleText:"",
    imageId: "mw-editbutton-oly"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ec/Button_base.png",
    speedTip: "Palette",
    tagOpen: "{\{Countries of Europe|prefix=:Category:",
    tagClose: "|suffix=}}\n",
    sampleText:"",
    imageId: "mw-editbutton-palette"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ec/Button_base.png",
    speedTip: "USPalette",
    tagOpen: "{\{US states|prefix=:Category:",
    tagClose: "|suffix=}}\n{\{Wikidata Infobox}}\n",
    sampleText:"",
    imageId: "mw-editbutton-uspalette"

});

mw.toolbar.addButton(
{
   imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ec/Button_base.png",
    speedTip: "Siecle",
    tagOpen: "{\{Subject by century|",
    tagClose: "|mothercat=|nobc=1}}\n",
    sampleText:"",
    imageId: "mw-editbutton-siecle"
});

mw.toolbar.addButton( 
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/7d/ButtonEditAlumi.png",
    speedTip: "Alumi",
    tagOpen: "{\{Wikidata Infobox}}\n[\[Category:",
    tagClose: "]]\n[\[Category:Alumni by university or college in |]]\n[\[Category:People of |-]]",
    sampleText:"",
    imageId: "mw-editbutton-alumni"

});

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/6/6d/Button_sig.png",
    speedTip: "Signature and date",
    tagOpen: "~~"+"~~",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-signature"
} );

mw.toolbar.addButton( 
{
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/3b/Comment-button-bg.png",
    speedTip: "Invisible comment",
    tagOpen: "<!"+"-- ",
    tagClose: " -->",
    sampleText: "invisible comment",
    imageId: "mw-editbutton-invis"

});