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

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

Общее

Внешний вид сайтов построенных на движке MediaWiki можно поменять просто сменив тему (шаблон, шкурку, скин). Список бесплатных тем см ниже в "ссылках".

Если нужны незначительные изменения, то их можно сделать редактируя специальные страницы:

  • MediaWiki:Common.css - для изменений CSS всех тем
  • MediaWiki:Common.js - для изменений JavaScript
  • MediaWiki:Vector.css - изменение только темы Vector

Правила на этих страницах имеют более высокий приоритет, нежели описанные непосредственно в файлах темы. Можно изменять, конечно, и сами файлы темы, но в этом случае придётся быть аккуратным при обновлении движка и не забывать переносить сделанные изменения в новую версию.

Добавляем логотип

Картинку не более 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


Прячем заголовок статьи

  • Для того чтобы спрятать заголовок любой статьи достаточно добавить в неё такую строку (не во всех версиях движка работает):
{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}}
  • Чтобы убрать заголовки у всех статей, нужно отредактировать служебную страницу MediaWiki:Common.css. Например, чтобы убрать заголовок на странице "Заглавная_старница" нужно добавить строку
body.page-Заглавная_страница h1.firstHeading { display: none; }

Подробнее можно прочесть в официальном ЧаВо.

Меняем текст сообщений

Любое сообщение в интерфейсе вики можно изменить, отредактировав специальную страницу с ним. Например:

  • MediaWiki:Noarticletext - Этот текст появляется, если в адресной строке (URL) был передан параметр title на несуществующую страницу.
  • MediaWiki:Copyrightwarning, MediaWiki:Copyrightwarning2 - предупреждения об авторском праве под окнами редактирования
  • MediaWiki:Sitenotice - добавляет сообщение на каждую страницу выше заголовка
  • MediaWiki:Edittools - дополнительные инструменты для страницы редактирования (см. расширение CharInsert)
  • MediaWiki:Tagline - надпись "Материал из..." под названием сайта

Список всех сообщений приведён на Special:Allmessages, а также в файле ru.json в каталоге i18n.

Изменяем футер

Футер (footer) - это общая со всеми нижняя часть страницы (ссылки и банеры). См Manual:Footer

Изменяем ссылки вставляющиеся внизу каждой страницы вики на специальных служебных страницах (чтобы убрать удаляем весь текст):

  • Политика конфиденциальности: 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⧽
  • В настройках пользователя на закладке "Гаджеты" должна стоять галочка напротив этого гаджета.


Ссылки:


Ссылки

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