Hinzufügen von Buttons zum WikiEditor

Aus Laub-Home.de Wiki
Zur Navigation springen Zur Suche springen

Um Neue Buttons dem WikiEditor hinzuzufügen muss die Datei MediaWiki:Common.js bearbeitet werden. Der Benutzer mit dem das Seitenweite JS editieren will muss der Gruppe Benutzeroberflächenadministratoren zugeordnet werden.
Mehr Infos hier:


Die PNG Bild Dateien dürfen nur 22x22 Pixel haben. Folgender ImageMagick Befehl konvertiert die Bild Dateien:

convert Button_progress.png -resize 22 Button_progress_new.png

MediaWiki:Common.js

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/*  WikiEditor Buttons */
var customizeToolbar = function() {
/* FIRST */
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        section: 'main',
        group: 'insert',
        tools: {
            'categorytext': {
                label: 'Category',
                type: 'button',
                icon: '/images/buttons/Button_category_new.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "[[Kategorie:",
                        periMsg: "KategorieName",
                        post: "]]"
                    }
                }
            }
        }
	});
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'workinprogress': {
                label: 'WorkInProgress Vorlage',
                type: 'button',
                icon: '/images/buttons/Button_progress_new.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "{{WorkInProgress}}",
                    }
                }
            }
        }
	}); 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'toc': {
                label: 'Table of Content einfügen',
                type: 'button',
                icon: '/images/buttons/Button_numbered_list.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "__TOC__",
                    }
                }
            }
        }
	});
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'tocright': {
                label: 'Table of Content rechts einfügen',
                type: 'button',
                icon: '/images/buttons/Button_Toc.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "{{TOCright}}",
                    }
                }
            }
        }
	});                                                   
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'pretext': {
                label: '<pre>',
                type: 'button',
                icon: '/images/buttons/Button_pre.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<pre>",
                        periMsg: "insert pre text here",
                        post: "</pre>"
                    }
                }
            }
        }
	});
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'sourcetext': {
                label: '<source>',
                type: 'button',
                icon: '/images/buttons/Button_Source_new.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<syntaxhighlight lang=bash>",
                        periMsg: "insert source text here",
                        post: "</syntaxhighlight>"
                    }
                }
            }
        }
	});
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'advanced',
        'group': 'format',
        'tools': {
            'codetext': {
                label: '<code>', 
                type: 'button',
                icon: '/images/buttons/Button_code.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<code>",
                        periMsg: "insert code text here",
                        post: "</code>"
                    }
                }
            }
        }
	});
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'advanced',
        'group': 'format',
        'tools': {
            'hline': {
                label: 'Horizontal line',
                type: 'button',
                icon: '/images/buttons/Button_hr.png',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "----",
                        ownline: true
                    }
                }
            }
        }
	});                
	$('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'advanced',
        group: 'format',
        tools: {
                "strikethrough": {
                        label: 'Strike',
                        type: 'button',
                        icon: '/images/buttons/Button_strike.png',
                        action: {
                                type: 'encapsulate',
                                options: {
                                        pre: "<s>",
                                        post: "</s>"
                                }
                        }
                }
        }
	});
	$('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'advanced',
        group: 'format',
        tools: {
                "underline": {
                        label: 'Underline',
                        type: 'button',
                        icon: '/images/buttons/Button_underline.png',
                        action: {
                                type: 'encapsulate',
                                options: {
                                        pre: "<u>",
                                        post: "</u>"
                                }
                        }
                }
        }
	});
	// LAST
	$('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'advanced',
        group: 'format',
        tools: {
                "span": {
                        label: 'Span',
                        type: 'button',
                        icon: '/images/buttons/Button_span_2.png',
                        action: {
                                type: 'encapsulate',
                                options: {
                                        pre: "<span style=color:red;>",
                                        post: "</span>"
                                }
                        }
                }
        }
	});
};
/* 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 () {
		if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ), $.ready
			).then( customizeToolbar );
		}
	} );
}