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

Короткая ссылка-перенаправление
  • wp:code
  • ВП:КОД

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

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

Стандарт оформления кода

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442_\u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f_\u043a\u043e\u0434\u0430","replies":[]}}-->

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

Common.js

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Common.js","replies":["h-Gadget-common-action-edit.js-Common.js","h-Gadget-common-action-history.js-Common.js","h-Gadget-common-special-upload.js-Common.js","h-Gadget-common-special-search.js-Common.js","h-Group-sysop.js-Common.js"]}}-->
Название Описание функциональности или поддерживаемый шаблон
collapsibleTables()
collapsibleDivs()
Википедия:Сворачивающиеся блоки

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

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

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

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

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

Дополнительная функциональность на странице истории: реализация функции «Вернуть к …»

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

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

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

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

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

Vector.js

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Vector.js","replies":[]}}-->

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

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

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

Modern.js

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Modern.js","replies":[]}}-->

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

Common.css

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Common.css","replies":[]}}-->
CSS код Описание
body.page-Заглавная_страница { /*...*/ }
спрятывание ненужных элементов на заглавной странице; некоторые другие (менее важные) элементы прячутся в Mainpage.js
#file img {
	background: url("//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png") repeat;
}
Фон на странице описания изображения, полезен для наглядности изображений с прозрачностью.
.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

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Vector.css","replies":[]}}-->

страница размер
Vector.css 1313
Monobook.css 1306
Modern.css 750

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

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

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

Script/criteriaCheck.js

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Script\/criteriaCheck.js","replies":[]}}-->

См. Википедия:Глобальный код/Автоматическая проверка соответствия критериям.

Гаджеты

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u0413\u0430\u0434\u0436\u0435\u0442\u044b","replies":["h-\u0421\u043a\u0440\u044b\u0442\u044b\u0435_\u0433\u0430\u0434\u0436\u0435\u0442\u044b-\u0413\u0430\u0434\u0436\u0435\u0442\u044b"]}}-->

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

Скрытые гаджеты

См. Проект:Технические работы/Разработчикам скриптов#Добавление кнопок на панели инструментов.

См. Википедия:Гаджеты/Гаджет проекта «Избранные списки и порталы»

См. также

__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-\u0421\u043c._\u0442\u0430\u043a\u0436\u0435","replies":[]}}-->

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!