• 71692
  • 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
1119

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

Комментарии

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

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

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

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

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38518
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
вчера / 14:43
Алматы предложили сделать центром секс-туризма

Алматы предложили сделать центром секс-туризма

Известный политолог России Андрей Карпов предложил сделать Алматы центром секс-туризма. Но для этого сперва нужно легализовать проституцию в стране.
tala03
13 авг. 2017 / 14:48
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 1824
  • 2
Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Многие способные выпускники без Алтын Белги готовились к тестированию, чтобы в честной борьбе попытать счастья на гранты без ущемления со стороны якобы "золотых" выпускников.
DanaJarlygapova
14 авг. 2017 / 14:35
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
вчера / 17:13
  • 1428
  • 1
На EXPO через Балхаш и Боровое своим ходом

На EXPO через Балхаш и Боровое своим ходом

Мы объехали по кругу озеро Иссык-Куль, о чем повествует предыдущий пост, и вернувшись из поездки подумали, а почему бы нам не рвануть на наше озеро, не менее прекрасное?
yelenasergiyenko
13 авг. 2017 / 13:13
  • 1377
  • 6
«Мы все дышим». Лучшие цитаты 5 серии 7 сезона «Игры престолов»

«Мы все дышим». Лучшие цитаты 5 серии 7 сезона «Игры престолов»

Нас подготовили к самой долгожданной битве за сезон. Встреча дракона и Джона. Старые записи мейстеров. Возвращение давно забытого героя. Интриги Мизинца. Новый «отряд самоубийц».
on_looker
15 авг. 2017 / 13:57
  • 1169
  • 10