MediaWiki:Gadget-add-word.js: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
dr. |
wykrywanie obecnosci spacji w tytule i zamiana 'rzeczownik' na 'fraza rzeczownikowa' itp. (Specjalna:Diff/4619117), faktoryzacja |
||
Linia 1: | Linia 1: | ||
var $wpTextbox; |
var $wpTextbox; |
||
function makeOptions( template, firstParam, secondParam, splitString ) { |
|||
var s, arr; |
|||
splitString = splitString || '[[krótki|krótka]] [[definicja]]'; |
|||
s = mw.format( template.join( '\n' ), firstParam, secondParam ); |
|||
arr = s.split( splitString ); |
|||
return { |
|||
pre: arr[ 0 ], |
|||
peri: splitString, |
|||
post: arr[ 1 ] |
|||
}; |
|||
} |
|||
function addWordSection() { |
function addWordSection() { |
||
var defaultTemplate, polishTemplate, otherTemplate; |
|||
var isPhrase = false; |
|||
if ( |
|||
mw.config.get( 'wgNamespaceNumber' ) === 0 && |
|||
⚫ | |||
) { |
|||
isPhrase = true; |
|||
} |
|||
defaultTemplate = [ |
|||
'== ' + mw.config.get( 'wgTitle' ) + ' ({{$1}}) ==', |
|||
'{{wymowa}}', |
|||
'{{znaczenia}}', |
|||
'\'\'$2\'\'', |
|||
': (1.1) [[krótki|krótka]] [[definicja]]', |
|||
'{{odmiana}}', |
|||
'{{przykłady}}', |
|||
': (1.1) \'\'[[przykład|Przykład]] [[zdanie|zdania]].\'\' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].', |
|||
'{{składnia}}', |
|||
'{{kolokacje}}', |
|||
'{{synonimy}}', |
|||
'{{antonimy}}', |
|||
'{{hiperonimy}}', |
|||
'{{hiponimy}}', |
|||
'{{holonimy}}', |
|||
'{{meronimy}}', |
|||
'{{pokrewne}}', |
|||
'{{frazeologia}}', |
|||
'{{etymologia}}', |
|||
'{{uwagi}}', |
|||
'{{tłumaczenia}}', |
|||
'* angielski: (1.1) [[ ]]', |
|||
'{{źródła}}' |
|||
]; |
|||
polishTemplate = $.merge( [], defaultTemplate ); |
|||
polishTemplate[ 7 ] = ': (1.1) \'\'[[przykład|Przykład]] [[zdanie|zdania]].\'\''; |
|||
otherTemplate = $.merge( [], defaultTemplate ); |
|||
otherTemplate.splice( 20, 2 ); // pole 'tłumaczenia' |
|||
// Nowy toolbar z nowymi sekcjami językowymi |
// Nowy toolbar z nowymi sekcjami językowymi |
||
$wpTextbox.wikiEditor( 'addToToolbar', { |
$wpTextbox.wikiEditor( 'addToToolbar', { |
||
Linia 26: | Linia 82: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
defaultTemplate, |
|||
⚫ | |||
"język jaki", |
|||
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' ) + ", rodzaj żeński, męski", |
|||
post: "}}) ==\n{{wymowa}}\n{{znaczenia}}\n''rzeczownik, rodzaj żeński, męski''\n: (1.1) [[krótki|krótka]] [[definicja]]\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].'' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{tłumaczenia}}\n* angielski: (1.1) [[ ]]\n{{źródła}}" |
|||
"jaki" |
|||
⚫ | |||
} |
} |
||
} |
} |
||
Linia 52: | Linia 109: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
polishTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język polski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''rzeczownik, rodzaj żeński, męski''\n: (1.1) ", |
|||
"język polski", |
|||
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' ) + ", rodzaj żeński, męski" |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].''\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{tłumaczenia}}\n* angielski: (1.1) [[ ]]\n{{źródła}}" |
|||
) |
|||
} |
} |
||
}, |
}, |
||
Linia 65: | Linia 122: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
polishTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język polski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''przymiotnik''\n: (1.1) ", |
|||
"język polski", |
|||
( isPhrase ? 'fraza przymiotnikowa' : 'przymiotnik' ), |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].''\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{tłumaczenia}}\n* angielski: (1.1) [[ ]]\n{{źródła}}" |
|||
"[[krótki|krótka]] [[definicja]]" |
|||
⚫ | |||
) |
|||
} |
} |
||
}, |
}, |
||
Linia 78: | Linia 136: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
polishTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język polski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''czasownik''\n: (1.1) ", |
|||
"język polski", |
|||
( isPhrase ? 'fraza czasownikowa' : 'czasownik' ) |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].''\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{tłumaczenia}}\n* angielski: (1.1) [[ ]]\n{{źródła}}" |
|||
) |
|||
} |
} |
||
} |
} |
||
Linia 105: | Linia 163: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
otherTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język angielski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''rzeczownik''\n: (1.1) ", |
|||
"język angielski", |
|||
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' ) |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].'' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{źródła}}" |
|||
) |
|||
} |
} |
||
}, |
}, |
||
Linia 118: | Linia 176: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
otherTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język angielski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''przymiotnik''\n: (1.1) ", |
|||
"język angielski", |
|||
( isPhrase ? 'fraza przymiotnikowa' : 'przymiotnik' ) |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].'' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{źródła}}" |
|||
) |
|||
} |
} |
||
}, |
}, |
||
Linia 131: | Linia 189: | ||
action: { |
action: { |
||
type: 'encapsulate', |
type: 'encapsulate', |
||
options: |
options: makeOptions( |
||
otherTemplate, |
|||
pre: "== " + mw.config.get( 'wgTitle' ) + " ({{język angielski}}) ==\n{{wymowa}}\n{{znaczenia}}\n''czasownik''\n: (1.1) ", |
|||
"język angielski", |
|||
( isPhrase ? 'fraza czasownikowa' : 'czasownik' ) |
|||
post: "\n{{odmiana}}\n{{przykłady}}\n: (1.1) ''[[przykład|Przykład]] [[zdanie|zdania]].'' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].\n{{składnia}}\n{{kolokacje}}\n{{synonimy}}\n{{antonimy}}\n{{hiperonimy}}\n{{hiponimy}}\n{{holonimy}}\n{{meronimy}}\n{{pokrewne}}\n{{frazeologia}}\n{{etymologia}}\n{{uwagi}}\n{{źródła}}" |
|||
) |
|||
} |
} |
||
} |
} |
Wersja z 18:25, 8 kwi 2015
var $wpTextbox;
function makeOptions( template, firstParam, secondParam, splitString ) {
var s, arr;
splitString = splitString || '[[krótki|krótka]] [[definicja]]';
s = mw.format( template.join( '\n' ), firstParam, secondParam );
arr = s.split( splitString );
return {
pre: arr[ 0 ],
peri: splitString,
post: arr[ 1 ]
};
}
function addWordSection() {
var defaultTemplate, polishTemplate, otherTemplate;
var isPhrase = false;
if (
mw.config.get( 'wgNamespaceNumber' ) === 0 &&
mw.config.get( 'wgTitle' ).indexOf( ' ' ) !== -1
) {
isPhrase = true;
}
defaultTemplate = [
'== ' + mw.config.get( 'wgTitle' ) + ' ({{$1}}) ==',
'{{wymowa}}',
'{{znaczenia}}',
'\'\'$2\'\'',
': (1.1) [[krótki|krótka]] [[definicja]]',
'{{odmiana}}',
'{{przykłady}}',
': (1.1) \'\'[[przykład|Przykład]] [[zdanie|zdania]].\'\' → [[tłumaczenie|Tłumaczenie]] [[zdanie|zdania]].',
'{{składnia}}',
'{{kolokacje}}',
'{{synonimy}}',
'{{antonimy}}',
'{{hiperonimy}}',
'{{hiponimy}}',
'{{holonimy}}',
'{{meronimy}}',
'{{pokrewne}}',
'{{frazeologia}}',
'{{etymologia}}',
'{{uwagi}}',
'{{tłumaczenia}}',
'* angielski: (1.1) [[ ]]',
'{{źródła}}'
];
polishTemplate = $.merge( [], defaultTemplate );
polishTemplate[ 7 ] = ': (1.1) \'\'[[przykład|Przykład]] [[zdanie|zdania]].\'\'';
otherTemplate = $.merge( [], defaultTemplate );
otherTemplate.splice( 20, 2 ); // pole 'tłumaczenia'
// Nowy toolbar z nowymi sekcjami językowymi
$wpTextbox.wikiEditor( 'addToToolbar', {
'sections': {
'addword': {
'type': 'toolbar',
'label': 'Nowa sekcja'
}
}
} );
//----------------
// Sekcja 'inne'
$wpTextbox.wikiEditor( 'addToToolbar', {
'section': 'addword',
'groups': {
'other': {
'label': '<a href="//pl.wiktionary.org/wiki/Wikis%C5%82ownik:Zasady_tworzenia_hase%C5%82" target="_blank">Zasady</a> Nowe hasło:',
'tools': {
'misc': {
label: 'Nowe hasło',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Nuvola_action_edit_add.svg/22px-Nuvola_action_edit_add.svg.png',
action: {
type: 'encapsulate',
options: makeOptions(
defaultTemplate,
"język jaki",
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' ) + ", rodzaj żeński, męski",
"jaki"
)
}
}
}
}
}
} );
//----------------
// Sekcja 'polski'
$wpTextbox.wikiEditor( 'addToToolbar', {
'section': 'addword',
'groups': {
'pl': {
'label': 'Polski',
'tools': {
'rzeczownik': {
label: 'Nowe hasło (rzeczownik, język polski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-R.png/22px-Newfont-R.png',
action: {
type: 'encapsulate',
options: makeOptions(
polishTemplate,
"język polski",
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' ) + ", rodzaj żeński, męski"
)
}
},
'przymiotnik': {
label: 'Nowe hasło (przymiotnik, język polski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-P.png/22px-Newfont-P.png',
action: {
type: 'encapsulate',
options: makeOptions(
polishTemplate,
"język polski",
( isPhrase ? 'fraza przymiotnikowa' : 'przymiotnik' ),
"[[krótki|krótka]] [[definicja]]"
)
}
},
'czasownik': {
label: 'Nowe hasło (czasownik, język polski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-C.png/22px-Newfont-C.png',
action: {
type: 'encapsulate',
options: makeOptions(
polishTemplate,
"język polski",
( isPhrase ? 'fraza czasownikowa' : 'czasownik' )
)
}
}
}
}
}
} );
// -----------------
// Sekcja 'angielski'
$wpTextbox.wikiEditor( 'addToToolbar', {
'section': 'addword',
'groups': {
'en': {
'label': 'Angielski',
'tools': {
'rzeczownik': {
label: 'Nowe hasło (rzeczownik, język angielski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-R.png/22px-Newfont-R.png',
action: {
type: 'encapsulate',
options: makeOptions(
otherTemplate,
"język angielski",
( isPhrase ? 'fraza rzeczownikowa' : 'rzeczownik' )
)
}
},
'przymiotnik': {
label: 'Nowe hasło (przymiotnik, język angielski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-P.png/22px-Newfont-P.png',
action: {
type: 'encapsulate',
options: makeOptions(
otherTemplate,
"język angielski",
( isPhrase ? 'fraza przymiotnikowa' : 'przymiotnik' )
)
}
},
'czasownik': {
label: 'Nowe hasło (czasownik, język angielski)',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Newfont-C.png/22px-Newfont-C.png',
action: {
type: 'encapsulate',
options: makeOptions(
otherTemplate,
"język angielski",
( isPhrase ? 'fraza czasownikowa' : 'czasownik' )
)
}
}
}
}
}
} );
}
if (
$.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 &&
mw.user.options.get( 'usebetatoolbar' )
) {
mw.loader.using( 'ext.wikiEditor.toolbar', function() {
$( document ).ready( function() {
$wpTextbox = $( '#wpTextbox1' );
addWordSection();
mw.hook( 'toolbarGadget.addWordReady' ).fire( $wpTextbox );
} );
} );
}
/* Otwórz nowym użytkownikom z defaultu "Nowa sekcja językowa". Autor: [[user:Olaf]] */
if (
$.cookie( 'addword-gadget-toolbar-section-set' ) === null &&
$.cookie( 'wikiEditor-0-toolbar-section' ) === null
) {
$.cookie( 'wikiEditor-0-toolbar-section', 'addword', {
expires: 30,
path: '/'
} );
$.cookie( 'addword-gadget-toolbar-section-set', 'true', {
expires: 30,
path: '/'
} );
}