Уикипедия:Допълнителни редакторски инструменти/Настройка
Тази страница съдържа кратка помощна информация за настройването на допълнителните редакторски инструменти. В момента тези инструменти включват:
- бутони за вмъкване на текст;
- бутони, с които се изпълняват определени функции, засягащи кутията за редактиране;
- падащи менюта, чрез които също може да се вмъква текст.
Допълнителните редакторски инструменти се изграждат изцяло чрез Джаваскрипт, като кодът се намира в страницата МедияУики: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;