Плагины
Плагины (Extentions
) - позволяют добавить движку какой-либо дополнительный функционал. Например возможность встраивания в статьи видео с youtube
-а. Для установки этого плагина необходимо:
- Закинуть файл (или папку с файлами, что реже) в директорию
/extensions
- Открыть файл
LocalSettings.php
и добавить в конецrequire_once(“$IP/extensions/YouTube.php”);
где в скобках указывается главный файл плагина
В случае youtube плагина, видео можно встроить в статью просто применив конструкцию <youtube>
ссылка на ролик</youtube>
в своей статье. Есть и более функциональные плагины для этой цели, которые поддерживают сразу несколько видео-хостингов, да и к тому же позволяют менять размер встраиваемого объекта, но в моём случае они почему то взбунтовались… В прочем это отдельная история. Рекомендую также установить плагин ParserFunctions
, он понадобиться вам для написания шаблонов (мини-программирование), и Cite
, который позволит легко и красиво организовать список сносок, разбрасывая их посреди статьи.
Шаблоны
Шаблоны
— это такие же страницы, как и обычные статьи, но в отличие от последних, могут быть использованы как внешняя процедура, которой можно передать параметры. По ссылке неплохое руководство по их созданию и применению (хотя, стоит отметить, далеко не полное). Очень удобная штука, позволит вам систематизировать и одинаково оформить похожие элементы информации или организовать статью как сборную солярку. Например в качестве шаблона может выступать табличка для показа параметров города или игры. Вот небольшой пример. Нажмите просмотр чтобы увидеть его код. В нём используются шаблон условия {{#if}}
, который отсутствует в базовой комплектации, но необходим для задания хотя бы элементарной логики. Его и многое другое добавляет в вики плагин ParserFunctions
. Думаю нет особого резона расписывать здесь то же, что вы можете найти в статье. Однако вам наверняка пригодиться это - {{:название_статьи}}
. Именно таким образом можно встроить в одну статью содержимое другой. На пару с шаблонами можно организовать какую никакую динамичную главную страницу.
Панель редактирования статьей
Думаю многих не устраивает стандартная панель редактирования статей в mediawiki. Мягко говоря, она убога и даже близко не покрывает возможности базовой сборки движка. Да и к тому же оформление просто туши свет. С него и начну. Я несколько изменил стандартные кнопки, скачать их можно здесь.
На мой взгляд они получились более скромными и понятными. Хотя о вкусах не спорят конечно. В архиве есть и нестандартные кнопки, о которых речь пойдёт позднее. Почти все изображения кнопок хранятся в папке /common/images
, размер (23х22
) к сожалению без бубна изменить нельзя, да и не особо нужно.
Так как же добавить новые кнопки? Если вас устроит простая подстановка, то достаточно открыть файл /skins/common/edit.js
и добавить туда следующую функцию:
function addInsertButton(img, speedTip, tagOpen, tagClose, sampleText) { mwCustomEditButtons[mwCustomEditButtons.length] = { 'imageFile': '/skins/common/images/' + img, 'speedTip': speedTip, 'tagOpen': tagOpen, 'tagClose': tagClose, 'sampleText': sampleText }; }
После этого можно приступать к созданию собственных кнопок. Суть функции такова:
img
— рисунок, загрузите его в папку /skins/common/images/ и назовите (желательно) button_а_тут_по_смыслу.png (ну или .gif)speedTip
— всплывающая подсказка кнопкиtagOpen
иtagClose
— встраиваемые куски текста слева и справа от курсора (или выделенного текста)sampleText
— в случае, если никакой текст не выделен, указанное здесь значение подставится междуtagOpen
иtagClose
Вот примеры готовых кнопок:
addInsertButton('button_redirect.png','Перенаправление','#Перенаправление [[',']]',''); addInsertButton('button_category.png','Категория','[[Категория:',']]',''); addInsertButton('inner_link_separated.png','Внутренняя ссылка','[[','|]]',''); addInsertButton(«button_flag.png„,'Флаг','{{Флаг|','|}}' ,''); addInsertButton('button-dash.png','Тире','—','',''); addInsertButton('button_quotes.png','Кавычки','„','»',''); addInsertButton(«button_comment.png»,'Комментарий','<!--','-->' ,''); addInsertButton(«button_youtube.png»,'Видео с youtube','<youtube>','</youtube>' ,''); addInsertButton(«button_gallery.png»,'Галерея','<gallery>\nИзображение:|', '\nИзображение:|\nИзображение:|\nИзображение:|\n</gallery>' ,''); addInsertButton(«button_footnote.png»,'Сноска','<ref>[',']</ref>' ,''); addInsertButton(«button_footnote_sector.png»,'Список сносок','<references/>','','');
Саму функцию и понравившиеся вам кнопки можно добавить в начало или в конец файла. Некоторые из представленных кнопок требуют установки плагинов (Cite
, Youtube
).