Уикипедия:Допълнителни редакторски инструменти/Настройка
Тази страница съдържа кратка помощна информация за настройването на допълнителните редакторски инструменти. В момента тези инструменти включват:
- бутони за вмъкване на текст;
- бутони, с които се изпълняват определени функции, засягащи кутията за редактиране;
- падащи менюта, чрез които също може да се вмъква текст.
Допълнителните редакторски инструменти се изграждат изцяло чрез Джаваскрипт, като кодът се намира в страницата МедияУики:Gadget-EditToolbar-core.js (и МедияУики:Gadget-EditToolbar.js). Промяната на тази страница може да се прави само от администратори. (До началото на април 2010 г. се ползваха страниците МедияУики:Common.js/Edit tools.js (програмна логика) и МедияУики:Common.js/Edit tools data.js (база от данни), но след това вече не беше възможно вмъкването им в генерирания джаваскриптов код.) Инструментите са включени за всички по подразбиране, но могат да се изключат от Настройки/Джаджи.
Обикновената настройка, изразяваща се в добавяне/махане на бутони или на елементи от менютата, става чрез редактиране на МедияУики:Gadget-EditToolbar-core.js.
Отделно от това, потребителите могат да си донастройват инструментите. Как става това е обяснено по-долу.
Ето кратко представяне на променливите, съдържащи информацията, въз основа на която се построяват инструментите.
Име | Тип | Роля |
---|---|---|
customInsButtons | Обект (Асоциативен масив) | Бутони |
tpl1 | Обект (Асоциативен масив) | Обикновено меню, от което се вмъква текст |
atpl1 | Обект (Асоциативен масив) | Меню, от което се вмъква съдържание на уикистраница |
atpl2 | Обект (Асоциативен масив) | Второ меню, от което се вмъква съдържание на уикистраница |
atplb | Низ | Представка на уикистраниците, които се ползват за горните две менюта |
chars | Масив (Масив от масиви) | Знаците, които се показват при натискане на бутона „Още…“ |
showButtons | Логически | Включва/изключва показването на бутоните |
showMenus | Логически | Включва/изключва показването на менютата |
Накратко за типовете
редактиранеОбектите, които всъщност изпълняват роля на асоциативни масиви, имат следния синтаксис:
object = { field1 : value, field2 : value };
Обикновените масиви имат следния синтаксис:
array = [ element1, element2 ];
И при двата типа елементите или полетата се отделят със запетаи, като след последния елемент или поле няма такава.
Бутони
редактиранеПострояват се въз основа на обекта customInsButtons. Възможни са две логически операции, в зависимост от това от колко параметъра е дефиниран бутонът.
Бутони за вмъкване на текст
редактиранеТакива бутони се определят чрез пет параметъра:
"CODE" : ["LEFT", "MIDDLE", "RIGHT", "SHOWN TEXT", "TITLE"],
Запетаята в края не се пише единствено след последния бутон.
- CODE
- Определя уникалното име на бутона. То позволява на потребителските скриптове да променят функционалността на бутона или пък да го махнат изцяло.
- LEFT
- Съдържание, което се вмъква вляво от курсора или от евентуален маркиран текст.
- MIDDLE
- Съдържание, което се вмъква на мястото на курсора, ако липсва маркиран текст. Бива автоматично маркирано.
- RIGHT
- Съдържание, което се вмъква вдясно от курсора или от евентуален маркиран текст.
- SHOWN TEXT
- Текст на бутона. Няма ограничение за дължината му.
- TITLE
- Заглавие на бутона, което обикновено се вижда при преминаване с курсора отгоре му.
Бутони за изпълнение на произволни функции
редактиранеТези бутони се определят чрез три параметъра:
"CODE" : ["CODE TO RUN", "SHOWN TEXT", "TITLE"],
Запетаята в края не се пише единствено след последния бутон.
- CODE
- Вж по-горе.
- CODE TO RUN
- Код на Джаваскрипт, който ще се изпълни при натискането на бутона.
- SHOWN TEXT
- Вж по-горе.
- TITLE
- Вж по-горе.
Менюта
редактиранеОбикновени менюта за вмъкване на текст
редактиранеОбикновените менюта за вмъкване на текст се построяват чрез обектите tplX, където X е цяло положително число, напр. tpl1, tpl2 и т.н.
Нов елемент в менюто се определя чрез
"SHOWN TEXT" : "TEMPLATE CONTENT",
Запетаята в края не се пише единствено след последния елемент.
- SHOWN TEXT
- Текстът, който се показва в менюто.
- TEMPLATE CONTENT
- Уикитекст, в който чрез
>>|<<
може да се укаже разделянето му на лява и дясна част, както е при бутоните. В такъв случай лявата част се вмъква вляво от курсора, а дясната — вдясно. Чрез>>|MIDDLE|<<
може да се зададе текст, който автоматично ще се маркира, ако преди това нищо не е било маркирано. - Ако TEMPLATE CONTENT съдържа само един дефис (късо тире), тогава SHOWN TEXT се използва за първия елемент в менюто, чрез който не се вмъква нищо.
Групиране на елементи се постига чрез
"GROUP NAME" : {
"SHOWN TEXT 1" : "TEMPLATE CONTENT 1",
"SHOWN TEXT 2" : "TEMPLATE CONTENT 2",
...
},
Менюта за вмъкване на съдържание на уикистраница
редактиранеМенютата за вмъкване на съдържание на уикистраница се определят чрез обектите atplX, където X е цяло положително число, напр. atpl1, atpl2 и т.н. Разликата на тези менюта от гореописаните е, че съдържанието, което се вмъква, е записано в отделна уикистраница, а не в кода на Джаваскрипт.
Нов елемент в менюто се определя чрез
"SHOWN TEXT" : "PAGE NAME",
- SHOWN TEXT
- Текстът, който се показва в менюто.
- PAGE NAME
- Име на уикистраница, чието съдържание се вмъква в кутията за редактиране. В страницата също може да се укаже разделянето на лява и дясна част. При обикновените менюта е обяснено как.
- При вмъкването
- всички шаблони в страницата автоматично се разгъват (вика се чрез
templates=expand
), затова евентуални неразгъващи се шаблони трябва да бъдат указани чрез <nowiki>; - елементите
<pre>
и<nowiki>
се изтриват; ако все пак искате да вмъквате такива елементи, ползвайте [pre] и [nowiki].
- всички шаблони в страницата автоматично се разгъват (вика се чрез
Ето списък на страниците, които участват в стандартните две менюта от тази категория. Всички страници са с представка „МедияУики:Common.js/Edit tools data/“.
Тематични шаблони
редактиране- Биография инфо
- Книга инфо
- Писател
- Музикален албум
- Музикална група
- Филм
- Актьор
- Футболен отбор
- Футболист
- Тенисист
- Таксокутия
- Летателен апарат
Работни шаблони
редактиране- Шаблони за статии
- Шаблони за беседи
- Шаблони за картинки
- Шаблони за категории
- Шаблони за шаблони
Виртуална клавиатура
редактиранеВиртуалната клавиатура се построяват чрез масива chars. Неговите елементи са също масиви, които съдържат знаците за вмъкване.
Настройка на инструментите от потребителите
редактиранеВсеки потребител може да донастрои тези инструменти, като редактира личната си скриптова страница.
Обикновено тестването на личните скриптови страници може да се прави чрез най-обикновен предварителен преглед, без да има нужда от съхранение на страницата.
Бутони за вмъкване на текст
редактиранеНови бутони за вмъкване на текст могат да се добавят чрез:
mw.vars.use("EditToolbar.buttons")
.set("CODE1", ["LEFT", "MIDDLE", "RIGHT", "SHOWN TEXT", "TITLE"])
.set("CODE2", ["LEFT", "MIDDLE", "RIGHT", "SHOWN TEXT", "TITLE"])
Ако CODE1 е код на съществуващ бутон, то старият бутон ще бъде заместен с новия.
Съществуващи бутони могат да се премахнат чрез:
mw.vars.use("EditToolbar.buttons")
.set("CODE1", null)
.set("CODE2", null)
CODE1, CODE2 и т.н. са кодовете на бутоните, които трябва да се махнат. Няма ограничение за броя на елементите CODEX.
Бутони за изпълнение на произволни функции
редактиранеНов бутон за изпълнение на функция може да се добави чрез:
mw.vars.use("EditToolbar.buttons")
.set("CODE", ["functionToRun()", "SHOWN TEXT", "TITLE"])
Ако CODE е код на съществуващ бутон, то старият бутон ще бъде заместен с новия.
Обикновени менюта за вмъкване на текст
редактиранеПо подразбиране има едно обикновено меню за вмъкване на текст — „Елементи от статията“. Ново (второ) меню за вмъкване на текст може да се добави чрез:
var tpl2 = {
// "SHOWN TEXT" : "TEMPLATE CONTENT",
"Моето меню…" : "-",
"Мяу" : "Здравей!",
"Бау" : "Не вандалствай!"
};
Нов елемент в края съществуващо меню се добавя чрез
tplX["SHOWN TEXT"] = "TEMPLATE CONTENT";
където tplX е името на обекта, отговарящ за съответното меню, напр. tpl1. Например:
tpl1["Мяу"] = "Здравей!";
Менюта за вмъкване на съдържание на уикистраница
редактиранеПо подразбиране има две менюта за вмъкване на съдържание на уикистраница — „Тематични шаблони“ и „Работни шаблони“. Ново (трето) меню може да се добави чрез:
var atpl3 = {
// "SHOWN TEXT" : "PAGE NAME",
"Моето меню…" : "-",
"Мяу" : "Потребител:Аз/Мяу",
"Бау" : "Потребител:Аз/Бау"
};
Нов елемент в края съществуващо меню се добавя чрез
atplX["SHOWN TEXT"] = "PAGE NAME";
където atplX е името на обекта, отговарящ за съответното меню, напр. atpl1, atpl2. Например:
atpl1["Мяу"] = "Потребител:Аз/Мяу";
Скриване на бутоните и/или менютата
редактиранеСкриването на всички бутони може да се постигне чрез:
showButtons = false;
Скриването на менютата пък става чрез
showMenus = false;