• 72758
  • 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
1136

Loading...

Комментарии

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

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

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

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

Самый большой провайдер в стране: методы работы с клиентами от «Казахтелеком»

Самый большой провайдер в стране: методы работы с клиентами от «Казахтелеком»

История о том, как Народный провайдер наваривается на своих клиентах, намерено не отключая услуги, и беря лишние деньги за ненужные и не оказываемые услуги.
ligaspravedlivosti
17 нояб. 2017 / 19:12
  • 34948
  • 197
Бесспорные доказательства – путь к упрощенному судопроизводству

Бесспорные доказательства – путь к упрощенному судопроизводству

В Казахстане введен институт упрощенного (письменного) судопроизводства, который позволяет повысить доступность правосудия и сократить сроки рассмотрения дел.
mark_iceberg
20 нояб. 2017 / 15:49
  • 15738
  • 3
Новшества на орбите уголовного правосудия

Новшества на орбите уголовного правосудия

Недавно я приняла участие в международной конференции по модернизации уголовного процесса, прошедшей в Бурабае. В чем значимость данных реформ для обычного казахстанца?
mirabeisenova
20 нояб. 2017 / 16:22
  • 12551
  • 3
Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Как сообщает телеканал КТК, только за последние девять месяцев Казахстан покинули 28200 человек, из них почти пять тысяч инженеров, около 2700 экономистов и 1700 учителей.
openqazaqstan
17 нояб. 2017 / 11:00
  • 12264
  • 62
О «топ-30», «топ-50» и прочих понтах можно пока забыть

О «топ-30», «топ-50» и прочих понтах можно пока забыть

В объективности выводов швейцарского банка Credit Suisse усомниться трудно – его экономические рейтинги относятся к самым авторитетным и их явно трудно упрекнуть в предвзятости
openqazaqstan
18 нояб. 2017 / 17:21
  • 8001
  • 91
Атамбаев под занавес президентства сделал всё, чтобы сжечь мосты

Атамбаев под занавес президентства сделал всё, чтобы сжечь мосты

На своей итоговой пресс-конференции в понедельник уходящий кыргызский президент говорил не об итогах своей деятельности, а о «плохом» Казахстане.
openqazaqstan
21 нояб. 2017 / 18:36
«Смех сквозь слезы», или 7 причин не любить Алматы

«Смех сквозь слезы», или 7 причин не любить Алматы

Жизнь в Алматы не всегда сладкая, как сахарная вата и мультики субботним утром. В этой ироничной статье автор блога «Almaty — My First Love» расскажет о семи причинах не любить Алматы.
AlmatyMyLove
20 нояб. 2017 / 13:12
  • 2935
  • 71
В Кызылорде нет Детского дома: мы построили 8 коттеджей для детей

В Кызылорде нет Детского дома: мы построили 8 коттеджей для детей

Тут живут будущие повара, актрисы, журналисты, боксеры, баскетболисты, певцы, поэты и многие другие талантливые дети!
socium_kzo
22 нояб. 2017 / 14:49
  • 2207
  • 0
«Полет ради полета»: знакомство с калужской авиацией изнутри

«Полет ради полета»: знакомство с калужской авиацией изнутри

В прошлом году на мероприятии "Слет Авиатора" я выиграла подарок - экскурсию на командно-диспетчерский пункт (КДП). Но тогда я даже не ожидала, что эта экскурсия выльется в такое интересное...
Aleksandra747
20 нояб. 2017 / 9:00
  • 1662
  • 6