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

Короткая ссылка-перенаправление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 1313
Monobook.css 1306
Modern.css 750

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

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

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

Script/criteriaCheck.js[править код]

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

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

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

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

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

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

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

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

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