MediaWiki/Внешний вид

Материал из СисадминВики (SysadminWiki.ru)
Перейти к: навигация, поиск


Общее

Внешний вид сайтов построенных на движке 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 и выполняем команду:

php userOptions.php skin --old "vectorlight" --new "vector" --nowarn


После этого все посетители будут видеть сайт в теме VectorLight, а если зарегистрироваться, то тема сменится на Vector.

Сноска во всплывающей подсказке

Всплывающая подсказка (reference Tooltips) делается с помощью гаджета (JavaScript кода), который использует расширение Cite (должно быть включено). Подсказка всплывает только если текст сноски не виден на экране.

Настройка:

* 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

Ссылки

Шаблоны (скины):