Википедия:Глобальный код

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

В сентябре 2017 года был произведен глобальный рефакторинг кода, что позволило сократить количество запросов и минифицировать код, благодаря использованию ResourceLoader и системы гаджетов. Общий код на протяжении года приводился к соответствию общим стайлгайдам MediaWiki. На этой странице описаны JavaScript и CSS страницы в пространстве MediaWiki нашего раздела.

MediaWiki автоматически подключает к каждой странице Common.js, Common.css и два соответствующих файла текущей темы оформления.

Стандарт оформления кода[править код]

Так как Википедия является открытым проектом, в который вовлечено большое количество участников, рекомендуется при редактировании CSS и JS файлов пользоваться утвержденными стандартами MediaWiki: Manual:Coding conventions/CSS и Manual:Coding conventions/JS. В случаях, не описанных в данных документах, для CSS рекомендуется использовать стандарты Google.

Common.js[править код]

Название Описание функциональности или поддерживаемый шаблон
collapsibleTables()
collapsibleDivs()
Википедия:Сворачивающиеся блоки

На заглавной странице:

  • добавляет ссылку «полный список» в конец списка интервик
    эта ссылка актуальна в связи с тем, что список интервик не полный;
  • прячет несколько ненужных элементов
    эти элементы второстепенны (они видны посетителям с отключённым JavaScript) и вынесены в этот файл для разгрузки глобальных CSS файлов;

В зависимости от текущей страницы Common.js вызывает другие файлы, описанные ниже. Эти файлы не являются стандартными для MediaWiki и были созданы администраторами проекта.

Gadget-common-action-edit.js[править код]

Вызывается при редактировании, добавляет:

  • кнопки вставки общеупотребительных фраз под полем описания правки,
  • напоминание о необходимости подписаться на большинстве страниц обсуждения
    напоминание активно только для IP и новых участников, остальные участники по желанию могут добавить себе в персональный .js файл код
sigWarning = true  // напоминать про отсутствие подписи на большинстве страниц дискуссий

В зависимости от выбранной в настройках верхней панели кнопок вызывается:

Gadget-common-special-upload.js[править код]

Дополнительная функциональность на странице загрузки файла:

  • вставка шаблонов в поле описания,
  • предупреждения о лицензиях,
  • возможность Ajax-предпросмотра описания,
  • сворачивание блока быстрой вставки.

См. также MediaWiki:Uploadtext.

Gadget-common-special-search.js[править код]

Выпадающий список внешнего поиска на странице поиска.

Group-sysop.js[править код]

Вызывается из Common.js только для администраторов, функциональность описана на странице Обсуждение MediaWiki:Group-sysop.js.

Vector.js[править код]

страница размер
Vector.js 536
Monobook.js 0
Modern.js 550
Cologneblue.js 0

В зависимости от выбранной участником темы оформления, MediaWiki также автоматически выполняет .js файл темы оформления.

Эти страницы считаются устаревшими, и разработчики не рекомендуют их использовать.

Modern.js[править код]

Cодержит код для улучшения совместимости темы «Современное» с персональными скриптами, написанными для темы «MonoBook»

Common.css[править код]

CSS код Описание
body.page-Заглавная_страница { /*...*/ }
спрятывание ненужных элементов на заглавной странице; некоторые другие (менее важные) элементы прячутся в Mainpage.js
#file img {
	background: url("//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png") repeat;
}
Фон Checker-16x16.png на странице описания изображения, полезен для наглядности изображений с прозрачностью.
.allpagesredirect,
span.redirect-in-category a {
	font-style: italic;
}
Выделение курсивом перенаправлений на страницах категорий, а также на AllPages и PrefixIndex
.standard,
.wide { /*...*/ }
См. Википедия:Оформление таблиц
table.ambox { /*...*/ }
Около 60 строк кода для оформления {{ambox}}
.infobox { /*...*/ }
.notice { /*...*/ }
.messagebox { /*...*/ }
Классы для стандартного офомления различных шаблонов-сообщений, в основном для страниц обсуждений
/* Style for horizontal lists (separator following item) */
.hlist dl,
.hlist ol,
.hlist ul { /*...*/ }
Набор классов для плоских списков (списки оборачиваются в <div class=hlist>...</div>)

Vector.css[править код]

страница размер
Vector.css 1179
Monobook.css 1356
Modern.css 750
Cologneblue.css 161

В зависимости от выбранного оформления движок подключает один из CSS файлов оформления. В этих файлах располагаются CSS правила, зависящие от выбранной темы оформления, как правило для «внешних» элементов интерфейса (находящихся вне области статьи).

В большинстве файлов используются следующие правила:

CSS код Описание
#siteSub { /*...*/ }
оформление подзаголовка «Материал из Википедии — свободной энциклопедии», который в некоторых темах по умолчанию спрятан

Гаджеты[править код]

У многих гаджетов есть страница описания, которую можно найти например со страницы Special:Gadgets.

См.также[править код]