|
|
Zeile 1: |
Zeile 1: |
| var wikEdConfig = {};
| |
| wikEdConfig.button = [];
| |
| wikEdConfig.button[100]= ['wikEdMiv', 'wikEdButton', 'Make the selection a math element', 'skins/common/images/button_math.png', '16', '16', 'math', 'javascript:WikEdEditButton(this, this.id, null, TestHandler);' ];
| |
| wikEdConfig.wikEdButton[101] = ['wikEdM', 'wikEdButton', 'Make the selection a FB', 'skins/common/images/button_template.png', '16', '16', 'math', 'javascript:WikEdEditButton(this, this.id, null, HdlFB);' ];
| |
|
| |
| // define custom button bars (id outer, class outer, id inner, class inner, height, grip title, button numbers)
| |
| wikEdConfig.buttonBar = {};
| |
| //wikEdConfig.buttonBar.custom1 = ['wikEdButtonBarCustom1', 'wikEdButtonBarCustom1', 'wikEdButtonsCustom1', 'wikEdButtonsCustom1', 44, 'My custom buttons', [100, 'br', 101]];
| |
| // define the function which is called upon clicking the custom button
| |
| // this example code adds or removes math tags around the selected text
| |
|
| |
| //var wikEdButtonKey = {
| |
| // 100: [',', 188] // shift-alt-,: "replace all" button shortcut
| |
| //}
| |
| function TestHandler(obj) {
| |
|
| |
| // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine)
| |
| // focus... is the text under the cursor; ...Word and ...Line extend the target to the start/end of the word or line
| |
| WikEdGetText(obj, 'selection, cursor');
| |
| if (obj.selection.plain != '') {
| |
| obj.changed = obj.selection;
| |
| }
| |
| else {
| |
| obj.changed = obj.cursor;
| |
| }
| |
|
| |
| // make the changes to the plain target text
| |
|
| |
| // remove the previously added formatting
| |
| if ( /<math>(.*?)<\/math>/i.test(obj.changed.plain) ) {
| |
| obj.changed.plain = obj.changed.plain.replace(/<math>(.*?)<\/math>/gi, '$1');
| |
| }
| |
|
| |
| // add the text formatting
| |
| else {
| |
| obj.changed.plain = '<math>' + obj.changed.plain + '</math>';
| |
| obj.changed.plain = obj.changed.plain.replace(/(<math>)( *)(.*?)( *)(<\/math>)/, '$2$1$3$5$4');
| |
| }
| |
|
| |
| // keep the changed text selected, needed to remove the formatting with a second custom button click
| |
| obj.changed.keepSel = false;
| |
|
| |
| return;
| |
| }
| |
|
| |
| function HdlFB(obj) {
| |
|
| |
| // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine)
| |
| // focus... is the text under the cursor; ...Word and ...Line extend the target to the start/end of the word or line
| |
| WikEdGetText(obj, 'selection, cursor');
| |
| if (obj.selection.plain != '') {
| |
| obj.changed = obj.selection;
| |
| }
| |
| else {
| |
| obj.changed = obj.cursor;
| |
| }
| |
|
| |
| // make the changes to the plain target text
| |
|
| |
| // remove the previously added formatting
| |
| if ( /\{\{FB\|(.*?)\}\}/i.test(obj.changed.plain) ) {
| |
| obj.changed.plain = obj.changed.plain.replace(/\{\{FB\|(.*?)\}\}/gi, '$1');
| |
| }
| |
|
| |
| // add the text formatting
| |
| else {
| |
| obj.changed.plain = '{{FB|' + obj.changed.plain + '}}';
| |
| obj.changed.plain = obj.changed.plain.replace(/(\{\{FB\|)( *)(.*?)( *)(\}\})/, '$2$1$3$5$4');
| |
| }
| |
|
| |
| // keep the changed text selected, needed to remove the formatting with a second custom button click
| |
| obj.changed.keepSel = true;
| |
|
| |
| return;
| |
| }
| |
|
| |
|
|
| |
|
// install [[Wikipedia:User:Cacycle/wikEd]] in-browser text editor
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
+ '&action=raw&ctype=text/javascript"></' + 'script>');