Википедия:Персональное оформление

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
↱
  • ВП:ПОФ

Персональное оформление — функциональность MediaWiki, позволяющая любому зарегистрированному участнику автоматически подключать себе собственные JavaScript- и CSS-файлы.

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

MediaWiki автоматически подключает эти файлы в HTML-код страницы после JavaScript- и CSS-файлов самой MediaWiki, выбранных участником гаджетов и глобального кода проекта. При этом «общие» файлы common.css и common.js подключаются всегда, а два других файла — в зависимости от выбранной темы оформления.

Как и в прочих случаях, персональные стилевые расширения зарегистрированных участников могут иметь 3 уровня действия в зависимости от страницы, на которой они размещены. Выбор зависит от самого участника, конечный стиль (при конфликтах правил) определяется от самого общего уровня (наименьший приоритет) к самому конкретному (наибольший приоритет). Если по ссылке ещё нет отдельной страницы, её просто следует создать обычным порядком (переходом по «Создать страницу» или «Править»):

  1. Страницы во всех проектах и подпроектах Фонда Викимедиа:
    m:Special:MyPage/global.css
  2. Страницы в русской Википедии:
    Special:MyPage/common.css
  3. Страницы для конкретного оформления русской Википедии:

Незарегистрированные пользователи могут реализовать вариант 1, добавляя нужный стиль в настройки своего браузера. У разных браузеров способы добавления разнятся, неплохой обзор (на английском языке) можно посмотреть на http://brugbart.com/custom-style-sheets.

Персональным скриптам посвящена отдельная страница, ниже рассматривается создание и примеры CSS-кода.

Создание CSS

Для написания персональных стилей нужно хотя бы в общих чертах владеть языком CSS. Каждое отдельное правило выглядит как

селектор,
селектор,
… {
	стиль;
	стиль;
	…
}

Селекторы описывают HTML-элементы страницы, их можно составить, посмотрев на HTML-код страницы. Примеры селекторов:

HTML-код CSS
<div id="copy2" … div#copy2 или просто #copy2
<div class="hdr" … div.hdr или просто .hdr
<div class="parent"><div … .parent div , что означает «div внутри элемента с классом parent»

Внутри CSS-кода можно использовать /* комментарии */.

Многие CSS-классы, используемые в Википедии, перечислены на странице en:Wikipedia:Catalogue of CSS classes.

Для проверки CSS-кода не обязательно делать правки в своём CSS-файле. Зайдите на страницу Web Development Bookmarklets, кликните там правой кнопкой мыши на ссылке test styles и выберите «добавить её в свои закладки» (подробнее см. Букмарклет). Теперь на любой странице вы можете выбрать эту новую закладку, в появляющемся окошке писать CSS-код и сразу видеть действие, оказываемое им на эту страницу. К сожалению, этот метод не работает в Opera 10.

Скрытие элементов

«Прятать» отдельные элементы интерфейса можно с помощью правила display: none; (однако это не экономит ваш трафик: элементы по-прежнему загружаются с сервера, просто браузер их не показывает).

Например, можно спрятать:

/* блок с двумя лого в самом низу каждой страницы */
#footer,
/* предупреждения об авторских правах при редактировании */
#editpage-copywarn,
#editpage-copywarn2 {
	display: none; 
}
/* ссылку на настройки бета-функций в верхнем меню */
#pt-betafeatures {
	display: none;
}
/* новостной баннер вверху страницы */
#centralNotice {
	display: none !important;
}
/* новостной баннер в списке наблюдения */
div.watchlist-msg { 
	display: none;
}

Оформление страниц

Выделение перенаправлений

прямая ссылка, посещённая
перенаправление, посещённое

Ссылки на перенаправления по умолчанию ничем не выделяются. В HTML-коде страницы они представлены как <a class="mw-redirect">, поэтому их можно выделить, например, цветом:

a.mw-redirect {
	color: #308050 !important;
}
a.mw-redirect:visited {
	color: #3070A0 !important;
}

В настройках также есть гаджет, делающий то же самое по нажатию специальной вкладки.

страница, посещённая
перенаправление, посещённое

На спецстраницах «Все страницы» и «Указатель по началу страницы» и на страницах категорий перенаправления представлены как <div class="allpagesredirect"><a> и <span class="redirect-in-category"><a> и уже выделены курсивом через наш Common.css. Их можно дополнительно себе выделить, например, серым цветом:

.allpagesredirect a,
span.redirect-in-category a {
	color: #444466 !important;
}
.allpagesredirect a:visited,
span.redirect-in-category a:visited  {
	color: #7A7AA5 !important;
}

Выделение нужных интервик

  • Česky
  • Deutsch
  • English
  • Français
  • Polski
  • Svenska

Если в списке интервик вас обычно интересуют только один-два языка, которыми вы владеете, то имеет смысл их выделить. Например, следующий код выделит жирным интервики на английскую и немецкую статьи.

li.interwiki-en,
li.interwiki-de {
	font-weight: bold;
}

В теме «MonoBook» также популярен метод выравнивания нужных интервик по правому краю (см. рис. справа):

li.interwiki-en {
	text-align: right;
	margin-right: 10px;
}

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

Ссылки на Википедию

Убрать значок внешней ссылки со ссылок, которые на самом деле ведут на страницы Википедии (не работает в Internet Explorer):

#bodyContent a.external[href^="http://ru.wikipedia.org"] {
	background: none;
	padding-right: 0;
}

Выделение реплик с отступом при помощи цвета их фона

CSS-код из fr:MediaWiki:Monobook.css, раскрашивающий реплики участников на страницах обсуждений и форумов в зависимости от отступа; пример такой раскраски также см. на fr:MediaWiki talk:Monobook.css

Первая реплика. Участник A. 14:00, 19 April 2007 (UTC)

Вторая реплика. Участник B. 14:05, 19 April 2007 (UTC)

Третья реплика. Участник C. 14:10, 19 April 2007 (UTC)

Четвёртая реплика. Участник D. 14:15, 19 April 2007 (UTC)

.ns-talk dd,
.ns-4 dd {
	margin: 0;
	padding: 0;
}
.ns-talk dl,
.ns-4 dl {
	border-top: solid 1px #F0F080;
	border-left: solid 1px #F0F080;
	padding-top: .5em;
	padding-left: .5em;
	margin-left: 1em;
}
.ns-talk dl,
.ns-4 dl,
.ns-talk dl dl dl,
.ns-4 dl dl dl,
.ns-talk dl dl dl dl dl,
.ns-4 dl dl dl dl dl,
.ns-talk dl dl dl dl dl dl dl,
.ns-4 dl dl dl dl dl dl dl,
.ns-talk dl dl dl dl dl dl dl dl dl,
.ns-4 dl dl dl dl dl dl dl dl dl {
	background: #F8FCF0;
}
.ns-talk dl dl,
.ns-4 dl dl,
.ns-talk dl dl dl dl,
.ns-4 dl dl dl dl,
.ns-talk dl dl dl dl dl dl,
.ns-4 dl dl dl dl dl dl,
.ns-talk dl dl dl dl dl dl dl dl,
.ns-4 dl dl dl dl dl dl dl dl {
	background: #F8FCFE;
}

Однако поскольку в пространстве имён «Википедия» (ns-4) находятся не только форумы, но также и многие другие страницы (например, правила и руководства), то код также изменит цвет фона у некоторых параграфов (с отступом слева) и там, где это не нужно.

Читаемость обсуждений

В пространствах «Обсуждение» и «Википедия» добавит расстояние между двумя репликами, написанными через :.

.ns-talk dd + dd,
.ns-4 dd + dd {
	margin-top: 0.5em;
}

В пространствах «Обсуждение» и «Википедия» маркеры, идущие после первого, будут показываться только при наведении указателя на ветку реплик.

.ns-talk ul li ul,
.ns-4 ul li ul {
	list-style-type: none;
	list-style-image: none;
}
.ns-talk ul li:hover ul,
.ns-4 ul li:hover ul {
	list-style-type: disc;
}

Все реплики с маркером

.ns-talk dd,
.ns-4 dd {
	display: list-item;
	list-style-type: disc;
}

Читаемость быстрой вставки

Немного раздвигает элементы быстрой вставки, между ними так быстрее ориентироваться

a.mw-charinsert-item {
	padding: 0px 4px;
}

Значки рядом с подписями участников

User.gif Участник

Код добавляет значок ко всем ссылкам на страницу участника:

a[title*="Участник:"] {
	background: url("http://upload.wikimedia.org/wikipedia/commons/1/1c/User.gif");
	background-repeat: no-repeat;
	padding-left: 1.5em;
}

Разное

Уменьшить шрифт описаний правок:

.comment {
	font-size: 90%;
}

Оформление интерфейса

Боковое меню внизу

(Статья)


навигация
  • Заглавная
  • Рубрикация
участие
  • Портал
  • Форум
поиск
 


Если в стандартной теме оформления «Векторное» вы хотите использовать всю ширину окна браузера для содержания страниц, то логотип можно убрать, а все блоки меню слева перенести в самый низ страницы; код для vector.css:

/* bottom sidebar in Vector */
#p-logo {
	display: none !important;
}
#p-personal,
#content,
#footer {
	margin-left: 0 !important;
}
#left-navigation {
	left: 1.5em !important;
}
#mw-panel {
	position: static !important;
	width: 100% !important;
}
div.portal {
	float:left !important;
	background: none !important;
}
#footer {
	clear: both !important;
}

Аналогичный код для темы MonoBook (monobook.css):

/* bottom sidebar in Monobook */
#p-logo {
	display: none;
}
#column-content,
#content {
	margin-left: 0 !important;
}
#p-cactions {
	left: 0 !important;
}
#column-one {
	padding-top: 10px !important;
}
.portlet {
	clear:none !important;
	margin-right: 5px !important;
}

Оформление табов

В теме «Векторное» можно выделить ссылку в самой верхней строке, если она является текущей страницей (так, как это было в «MonoBook»):

li.active {
	font-weight: bold;
}

Отступ справа

В теме «Векторное» нет отступа справа, как это было в «MonoBook». Добавить его можно так:

.mw-body {
	border-width: 1px 1px 1px 1px;
	margin-right: 1em;
}

Использование свободного пространства под редактором

Уберёт отступы по краям в блоке под редактором

.editOptions {
	padding: 0 0 0;
	margin-bottom: 0;
}

Уберёт отступ под малым редактированием

.editCheckboxes {
	margin-bottom: -5px;
}

Перенос ссылки на редактирование раздела вправо

Если вы хотите перенести ссылку на редактирование раздела статьи вправо, то можете вставить в свой стилевой файл следующий код:

.mw-editsection {
	float: right;
}

Готовые стили

Существуют готовые стили, изменяющие внешний вид всех страниц Википедии. Например, для Mozilla Firefox это делают плагины (как правило они предоставляют и другие возможности). Плагины могут быть полезны тем, кто не умеет работать с CSS или не хочет создавать их с нуля. Исходные коды обычно есть в свободном доступе. Один из самых популярных подобных плагинов — WikiTweak — Wikipedia Enhancer, в котором среди прочих есть стили вида «белый текст на чёрном фоне» для тех, кто считает, что таким образом меньше устают глаза и экономится электроэнергия.

Новогоднее

Курсор

Над основным текстом показывает новогодний курсор

.mw-body-content {
	cursor: url("//upload.wikimedia.org/wikipedia/ru/5/5a/CTree3.svg"), pointer;
}
Логотип

Новогодние логотипы

.mw-wiki-logo {
	background-image: url("//upload.wikimedia.org/wikipedia/commons/5/5c/Wikipedia-logo-New-Year-Monkey.svg") !important;
}

Служебные страницы

MediaWiki автоматически добавляет название страницы как класс к тегу <body>, благодаря этому можно создавать правила, работающие на определённых страницах.

Убирание «откатить»

Для предотвращения случайных откатов при просмотре списка наблюдения и свежих правок.

/* спрятать ссылки [откатить] */
body.mw-special-Watchlist span.mw-rollback-link,
body.mw-special-Recentchanges span.mw-rollback-link {
	display: none;
}

Нумерация строк вклада

Нумерованный список на страницах журналов и вклада участника.

/* Нумерованный список вклада и журналов */
body.mw-special-Contributions #content ul,
body.mw-special-Log #content ul {
	list-style-type: decimal !important; 
	list-style-image: none !important;
}

Скрыть квадратики меток в истории

Скрывает чекбоксы (флажки, квадратики) редактирования меток/тегов на странице истории

/* Скрыть квадратики меток в истории */
.mw-history-editchangetags-button,
#pagehistory input[type=checkbox] {
	display: none;
}

Подсветка строк

Подсвечивает строку при наведении курсора

/* Подсвечивает строку в истории */
ul.special > li:hover,
ul#pagehistory > li:hover {
	background-color: lavender;
}

Стимулятор патрулирования

/* стимулятор патрулирования. выделение цветом ссылки [непров] в истории правок */
.mw-fr-reviewlink {
	background-color: red;
	font-size: 150%;
}

Замечания

См. также