MediaWiki/Внешний вид
Общее
Внешний вид сайтов построенных на движке MediaWiki можно поменять просто сменив тему (шаблон, шкурку, скин). Список бесплатных тем см ниже в "ссылках".
Если нужны незначительные изменения, то их можно сделать редактируя специальные страницы:
- MediaWiki:Common.css -- для изменений CSS всех тем
- MediaWiki:Common.js -- для изменений JavaScript
- MediaWiki:Vector.css -- изменение только темы Vector
- Special:Allmessages -- изменение сообщений в интерфейсе
Правила на этих страницах имеют более высокий приоритет, нежели описанные непосредственно в файлах темы. Можно изменять, конечно, и сами файлы темы, но в этом случае придётся быть аккуратным при обновлении движка и не забывать переносить сделанные изменения в новую версию.
Добавляем логотип
Картинку не более 135х135 пикселей с прозрачным фоном загружаем в папку images и добавляем в LocalSettings.php:
$wgLogo = “{$wgScriptPath}/images/logofinal.png”;
Меняем ссылку логотипа
При нажатии на логотип, по умолчанию попадаем на Заглавную страницу, но это поведением можно изменить. Настраивается это в главном файле темы, например VectorTemplate.php для темы Vector. Темы находятся в каталоге skins. Находим в файле фрагмент отвечающий за вывод логотипа. Как правило в название div класса отвечающего за это входит слово "logo".
Для примера изменения смотрите описание темы Vector.
Меняем favicon
Это изображение появляется возле адреса страницы в адресной строке сайта, а также в закладках. Его размер должен быть либо 16x16 либо 32x32 пикселей. Не все браузеры поддерживают формат favicon отличный от ico, подробней читайте на http://en.wikipedia.org/wiki/Favicon#Browser_support
Чтобы добавить favicon.ico можно
- положить традиционно в корневой каталог сайта, т.е. на одном уровне с каталогом "w/" или
- скопировать изображение в папку images и добавить в LocalSettings.php:
$wgFavicon = "$wgScriptPath/images/favicon.ico";
Боковое меню (Sidebar)
Изменение в веб-интерфейсе
Боковое меню - это одно из системных сообщений, задаваемых в пространстве имён MediaWiki. Его содержимое описывается на странице MediaWiki:Sidebar.
Синтаксис:
* <название блока 1> ** <ссылка 1>|<отображаемый текст 1> ** <ссылка 2>|<отображаемый текст 2> * <название блока 2> ** <ссылка 3>|<отображаемый текст 3> ** <ссылка 4>|<отображаемый текст 4>
Пример:
* navigation ** mainpage|Начальная ** Служебная:AllPages|Все статьи ** Служебная:Categories|Все категории ** portal-url|Сообщество ** https://ru.wikipedia.org | Википедия ** helppage|help * Популярное ** Служебная:PopularPages|Статьи ** Служебная:MostLinkedCategories|Категории ** recentchanges-url|recentchanges ** randompage-url|randompage * SEARCH * TOOLBOX
Изменение в теме оформления
Иногда возникает необходимость изменить боковое меню в теме оформления. Например, в случае если мы используем разные темы для обычных посетителей и зарегистрированных участников.
Пример изменения темы смотрите на странице темы Вектор.
Добавляем слева ссылки на другие вики
В случае многоязыковых проектов достаточно добавить в статью
[[lang:Имя статьи]]
где lang - префикс языка. См. файл languages/Names.php
В случае, если нужно добавить ссылку на любой другой сайт, нужно создать интервики ссылку (см. ниже) и с таким же именем запись в languages/Names.php
Например, в таблице ссылок интервики создали ссылку my-wiki, тогда в Names.php добавляем строчку (в рамках объявления массива):
'my-wiki' => 'My Wiki', # Link to my wiki
Теперь, в статью можно поместить строку:
[[my-wiki:Имя статьи]]
Подробней читать на офиц. сайте.
Прячем таблицу содержания
- Для одной страницы помещаем в текст "волшебное слово" __NOTOC__
- Для всех страниц редактируем CSS файл, где находим тэг для таблицы содержания и добавляем строку "display: none;"
- Для пользователя определяется самим пользователем на странице настроек Special:Preferences
Прячем заголовок статьи
Для того, чтобы спрятать название определённой страницы (в примере ниже это "Заглавная_страница") добавляем на страницу MediaWiki:Common.css следующий код:
body.page-Заглавная_страница #siteSub, body.page-Заглавная_страница #contentSub, body.page-Заглавная_страница h1.firstHeading {display:none !important}
Также можно использовать магическое слово DISPLAYTITLE:
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}
но для этого нужно отключить в LocalSettings.php ограничения на заголовки:
$wgRestrictDisplayTitle = false;
Подробнее можно прочесть в официальном ЧаВо.
Меняем текст сообщений
Любое сообщение в интерфейсе вики можно изменить, отредактировав специальную страницу с ним. Например:
- MediaWiki:Noarticletext -- Этот текст появляется, если в адресной строке (URL) был передан параметр title на несуществующую страницу.
- MediaWiki:Copyrightwarning, MediaWiki:Copyrightwarning2 -- предупреждения об авторском праве под окнами редактирования
- MediaWiki:Sitenotice -- добавляет сообщение на каждую страницу выше заголовка
- MediaWiki:Edittools -- дополнительные инструменты для страницы редактирования (см. расширение CharInsert)
- MediaWiki:Tagline -- надпись "Материал из..." под названием сайта
- MediaWiki:Talk, MediaWiki:Talkpagelinktext --
Список всех сообщений приведён на Special:Allmessages, а также в файле ru.json в каталоге i18n
.
Изменяем подвал
Подвал (футер, footer) - это общая со всеми нижняя часть страницы (ссылки и банеры). См Manual:Footer и по изменению кнопок $wgFooterIcons.
- Чтобы отключить вывод кнопки с логотипом MediaWiki указываем в LocalSettings.php:
unset( $wgFooterIcons['poweredby'] );
- А для кнопки с авторскими правами:
$wgRightsIcon = null;
- Чтобы добавить произвольный банер (кнопку) нужно изменить переменную $wgFooterIcons - добавить элемент в этот массив. Например для добавления счётчика Яндекс:
$wgFooterIcons['poweredby']['yandex'] = [ "src" => "https://yandex.ru/cycounter?https://mysite.ru&theme=dark&lang=en", "url" => "https://webmaster.yandex.ru/siteinfo/?site=https://mysite.ru", "alt" => "Счётчик Яндекс", "height" => "31", "width" => "88", ];
Добавлять можно как в столбец poweredby так и в copyright, т.е. первая строка может быть такой:
$wgFooterIcons['copyright']['yandex'] = [
- Изменяем текст и ссылки вставляющиеся внизу каждой страницы на специальных служебных страницах (чтобы убрать удаляем весь текст):
- Политика конфиденциальности: MediaWiki:Privacy
- Отказ от ответственности: MediaWiki:Disclaimers
Разные темы для участников и посетителей
Чтобы использовать разные темы оформления (скины) для незарегистрированных посетителей и участников, нужно с помощью скрипта userOptions.php принудительно указать участникам новую тему. Посетителям будет выдаваться сайт в оформлении темы указанной в переменной $wgDefaultSkin.
Например, для отображения посетителям темы VectorLight (облегчённой темы Вектор) указываем в LocalSettings.php
:
$wgDefaultSkin = "vectorlight";
Для зарегистрировавшихся участников используем полновесную тему Вектор, устанавливая её принудительно для каждого участника. Заходим в папку maintenance
и выполняем команду:
После этого все посетители будут видеть сайт в теме VectorLight, а если зарегистрироваться, то тема сменится на Vector.
Сноска во всплывающей подсказке
Всплывающая подсказка (reference Tooltips) делается с помощью гаджета (JavaScript кода), который использует расширение Cite (должно быть включено). Подсказка всплывает только если текст сноски не виден на экране.
Настройка:
- Включить расширение Gadgets
- Скопировать из русской Википедии страницы MediaWiki:Gadget-referenceTooltips.css и MediaWiki:Gadget-referenceTooltips.jsв одноимённые страницы на новой вики
- Включить гаджет, скопировав строку подключения со страницы MediaWiki:Gadgets-definition на одноимённую страницу на новой вики. Строка имеет вид:
* referenceTooltips[ResourceLoader|default|type=general|dependencies=jquery.client,mediawiki.cookie,mediawiki.notify]|referenceTooltips.js|referenceTooltips.css
Проверка:
- На странице Служебная:Гаджеты должна появиться запись для ⧼gadget-referenceTooltips⧽
- В настройках пользователя на закладке "Гаджеты" должна стоять галочка напротив этого гаджета.
Ссылки:
- Подробнее о возможностях гаджета от автора
Визуальный редактор (Visual Editor)
В панель инструментов Визуального редактора можно дополнять свои ниспадающие списки (например для вставки шаблонов) и кнопки быстрой вставки (например кавычки). Для этого нужно разместить на странице MediaWiki:Common.js соответсвующий код на яваскрипте.
- Список (вид) иконок для кнопок, загруженных участниками на сайт MediaWiki, которые можно подключить в своём проекте.
Редактор WikiEditor
- Изменение панели иснтрументов в WikiEditor происходит в MediaWiki:Common.js:
Ссылки
Шаблоны (скины):
- Инструкции как сделать свой скин
- на русском языке
- на английском
- официальная документация на русском и английском.
- Сайты со скинами:
- Список на MediaWiki.org