Справочник автора/MediaWiki

Материал из Posmotrelisu
Перейти к навигации Перейти к поиску

MediaWiki — это открытый сайтовый движок, на котором работает множество википроектов — посмотрелка, википедия, викитропы и пр.

Серверная часть

Тут для работы движка важны по сути 3 вещи:

  1. Интерпретатор php — поскольку php это язык, на котором написана сама MediaWiki. Без комментариев.
  2. СУБД — система управления базой данных. Именно в ней хранятся правки, статьи, история, ники и прочее. По-умолчанию медиавики в качестве СУБД использует MariaDB или MySQL. Так же поддерживает PostgresSQL и SQLite. В старых версиях поддерживается OracleDB.
  3. Вебсервер с поддержкой PHP (чаще всего Apache2) - предоставляет файлы сайта для пользователей в интернете. Именно он позволяет получить доступ к сайту его посетителям. Он же может вызывать множество проблем если настроен криво.

От «свежести» этих 3 компонентов зависит какую версию движка можно установить.

На что обратить внимание будучи на сервере:

  • Файл LocalSettings.php — тут содержатся настройки работы медиавики — подключаемые расширения, настройки, интеграция с другими сервисами. В общем, много всего.
  • Папка extensions — сюда закидываются расширения, которые планируется установить.
  • Папка maintance — тут содержатся скрипты обслуживания медиавики на php. Обновить структуру БД, поменять пароль, много всего.
  • Папка images - тут будут хранится все изображения используемые на вики.

Клиентская часть

HTML

JS

Jqwery

Vue

CSS

Основные понятия

Пространство имён

TL;DR

Язык разметки

« Любая достаточно сложная платформа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины Common Lisp »
— Сжатая цитата для иллюстрации подраздела

В MediaWiki встроен "язык" позволяющий добавлять различные красивости на страницу - вики-разметка (Wiki markup). Почему в кавычках? Потому что по большому счёту вики-разметка - это надстройка над обычным HTML заменяющая его не понятную большинству нормальных людей систему тегов на более вразумительную (по мнению авторов) систему последовательностей символов. То есть это значит что при большом желании статьи на вики можно форматировать при помощи голого CSS и HTML, что порой приходится делать, когда парсер (часть сайта отвечающая за перевод вики-разметки в HTML и CSS) даёт сбои. Да боже, это даже используется в этом абзаце!
Относительно полный гайд по разметке можно почитать в официальном руководстве.

Шаблоны

Иногда возникают ситуации когда нужно один и тот же кусок использовать в нескольких местах. В нормальных языках программирования для этого используются функции, в вики-разметке используются шаблоны. Шаблон представляет собой статью находящуюся в специально выделенном пространстве имён и подготовленную специальным образом для вставки.
Список того что тут можно использовать:

  • Разметка, HTML и CSS. Так как шаблон является обычной статьёй, то он поддерживает всё тоже самое что и обычная статья.
  • Функции парсера. Так же контент который можно использовать в обычных статьях, но чаще находит своё применение именно здесь
  • Параметры. При помощи специальных конструкций можно оставлять поля в которые при размещении шаблона можно указать нужный вам кусок. Ничем не ограничены и могут подставляться буквально целые куски разметки, главное чтобы итоговый результат для парсера сошёлся.
  • На нашей вики используется расширение фунций парсера. Математические действия, сравнения, отработка исключений, сложные условия и многое другое. Мощный инструмент позволяющий создавать гараздо более комплексные шаблоны чем обычно.

Lua

Экзотика