• 72157
  • 434
  • 33
Нравится блог?
Подписывайтесь!

Заметки про MediaWiki #1

MediaWikiMediaWiki - это очень популярный php-движок для создания библиотек. Далеко ходить не надо - его использует wikipedia.com и lurkmore.ru. Я очень удивился, когда стал пытаться в нём разобраться - по нему практически не существует русскоязычной документации (если знаете неплохую - скиньте, плз). В виду чего у меня возникла идея написать несколько мелких статей по его усмирению. По сути я не php-прогер, хотя опыт в программировании есть, и не админ. Но для реализации большинства улучшений, которые вам могут пригодиться, это всё практически и не потребуется.



Плагины


Плагины (Extentions) - позволяют добавить движку какой-либо дополнительный функционал. Например возможность встраивания в статьи видео с youtube-а. Для установки этого плагина необходимо:

  1. Закинуть файл (или папку с файлами, что реже) в директорию /extensions
  2. Открыть файл LocalSettings.php и добавить в конец require_once('$IP/extensions/YouTube.php'); где в скобках указывается главный файл плагина

В случае youtube плагина, видео можно встроить в статью просто применив конструкцию <youtube>ссылка на ролик</youtube> в своей статье. Есть и более функциональные плагины для этой цели, которые поддерживают сразу несколько видео-хостингов, да и к тому же позволяют менять размер встраиваемого объекта, но в моём случае они почему то взбунтовались... В прочем это отдельная история.

Рекомендую также установить плагин ParserFunctions, он понадобиться вам для написания шаблонов (мини-программирование), и Cite, который позволит легко и красиво организовать список сносок, разбрасывая их посреди статьи.


Шаблоны


Шаблоны - это такие же страницы, как и обычные статьи, но в отличие от последних, могут быть использованы как внешняя процедура, которой можно передать параметры. По ссылке неплохое руководство по их созданию и применению (хотя, стоит отметить, далеко не полное). Очень удобная штука, позволит вам систематизировать и одинаково оформить похожие элементы информации или организовать статью как сборную солярку. Например в качестве шаблона может выступать табличка для показа параметров города или игры. Вот небольшой пример. Нажмите просмотр чтобы увидеть его код. В нём используются шаблон условия {{#if}}, который отсутствует в базовой комплектации, но необходим для задания хотя бы элементарной логики. Его и многое другое добавляет в вики плагин ParserFunctions. Думаю нет особого резона расписывать здесь то же, что вы можете найти в статье. Однако вам наверняка пригодиться это - {{:название_статьи}}. Именно таким образом можно встроить в одну статью содержимое другой. На пару с шаблонами можно организовать какую никакую динамичную главную страницу.


Панель редактирования статьей


Думаю многих не устраивает стандартная панель редактирования статей в mediawiki. Мягко говоря, она убога и даже близко не покрывает возможности базовой сборки движка. Да и к тому же оформление просто туши свет. С него и начну. Я несколько изменил стандартные кнопки, скачать их можно здесь.

На мой взгляд они получились более скромными и понятными. Хотя о вкусах не спорят конечно. В архиве есть и нестандартные кнопки, о которых речь пойдёт позднее. Почти все изображения кнопок хранятся в папке /common/images, размер (23х22) к сожалению без бубна изменить нельзя, да и не особо нужно.

Так как же добавить новые кнопки? Если вас устроит простая подстановка, то достаточно открыть файл /skins/common/edit.js и добавить туда следующую функцию:

Добавить кнопку
  1. function addInsertButton(img, speedTip, tagOpen, tagClose, sampleText){
  2. mwCustomEditButtons[mwCustomEditButtons.length] =
  3. {'imageFile': '/skins/common/images/' + img,
  4. 'speedTip': speedTip,
  5. 'tagOpen': tagOpen,
  6. 'tagClose': tagClose,
  7. 'sampleText': sampleText};
  8. }

После этого можно приступать к созданию собственных кнопок. Суть функции такова:

  • img - рисунок, загрузите его в папку /skins/common/images/ и назовите (желательно) button_а_тут_по_смыслу.png (ну или .gif)
  • speedTip - всплывающая подсказка кнопки
  • tagOpen и tagClose - встраиваемые куски текста слева и справа от курсора (или выделенного текста)
  • sampleText - в случае если никакой текст не выделен, указанное здесь значение подставиться между tagOpen и tagClose

Вот примеры готовых кнопок:

Новые кнопки
  1. addInsertButton('button_redirect.png','Перенаправление','#Перенаправление [[',']]','');
  2. addInsertButton('button_category.png','Категория','[[Категория:',']]','');
  3. addInsertButton('inner_link_separated.png','Внутренняя ссылка','[[','|]]','');
  4. addInsertButton("button_flag.png",'Флаг','{{Флаг|','|}}' ,'');
  5. addInsertButton('button-dash.png','Тире','—','','');
  6. addInsertButton('button_quotes.png','Кавычки','«','»','');
  7. addInsertButton("button_comment.png",'Комментарий','<!--','-->' ,'');
  8. addInsertButton("button_youtube.png",'Видео с youtube','<youtube>','</youtube>' ,'');
  9. addInsertButton("button_gallery.png",'Галерея','<gallery>\nИзображение:|',
  10. '\nИзображение:|\nИзображение:|\nИзображение:|\n</gallery>' ,'');
  11. addInsertButton("button_footnote.png",'Сноска','<ref>[',']</ref>' ,'');
  12. addInsertButton("button_footnote_sector.png",'Список сносок','<references/>','','');

Саму функцию и понравившиеся вам кнопки можно добавить в начало или в конец файла. Некоторые из представленных кнопок требуют установки плагинов (Cite, Youtube).

28 июня 2010, 16:30
1124

Загрузка...
Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Алматинский учитель поставил диагноз системе, частью которой является образование. Будучи успешным юристом, имевший степень МВА, он вдруг развернул траекторию своей карьеры, став обычным учителем.
Zhumanova
22 сент. 2017 / 16:26
  • 9263
  • 17
«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

Досталось и Скриптониту, который ранее опубликовал запись, о том, что больше не будет сниматься в клипе Гуфа и Тимати. "Я тебя ни о чем больше не попрошу, казах ты мой дорогой" - высказался рэпер.
tala03
21 сент. 2017 / 15:48
  • 4177
  • 12
Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Вице-спикер Мажилиса Владимир Божко остановился на некоторых деталях известного конфликта в Астане возле строящегося «Абу Даби Плаза», затронув проблему «многочисленной сельской молодёжи»...
openqazaqstan
19 сент. 2017 / 13:16
  • 2853
  • 64
«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

По данным статистики 2017 года Казахстан занимает 4 место по самоубийствам. Говорить об этом - социальное табу. Мы игнорируем разговоры о депрессиях. Потому что нам страшно.
goribaldi
18 сент. 2017 / 15:45
  • 2823
  • 91
«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

Мужчины спокойно подчиняются логичным правилам, большинство женщин пытаются выторговать себе особые условия. Я убеждалась в этом много раз.
ValentinaVladimirska
18 сент. 2017 / 14:25
  • 2283
  • 35
«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

Мы не такие блатные. Да, нас унижают руководители, возомнившие себя ханами, часто наши права не реализуются в должной мере. И я всегда задавался, почему на самом деле нет нормальных условий и льгот...
WriterKz
23 сент. 2017 / 0:41
Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Бесплатное проживание и завтрак в Испании, как прокачать иностранный язык и где поймать бесплатные ништяки в Европе. Если вы backpacker, который пересекает границу разных стран каждую неделю -...
dianaobyrne
18 сент. 2017 / 12:16
  • 2864
  • 1
Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Три года назад начитавшись-наслушавшись кое-каких знаменитых людей, я решила завязать  с абсолютно любым мясом. Как же возмущались все мои близкие, это надо было видеть, но я была непреклонна.
Bonittta
18 сент. 2017 / 14:33
  • 2250
  • 33
Путешественник был шокирован полицейским беспределом в Казахстане

Путешественник был шокирован полицейским беспределом в Казахстане

Полицейский беспредел в Казахстане осудил российский блогер и путешественник Евгений Золотухин. На своей странице он рассказал, как встретился с казахстанскими полицейскими, и как они оставили не...
tala03
18 сент. 2017 / 16:58
  • 2015
  • 13