Тептар:Глобальный код
В сентябре 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- и новых участников, остальные участники по желанию могут добавить себе в ваш личный 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
страница | размер |
---|---|
Vector.js | 295 |
Monobook.js | 0 |
Modern.js | 550 |
В зависимости от выбранной участником темы оформления, 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;
}
|
Фон на странице описания изображения, полезен для наглядности изображений с прозрачностью. |
.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 | 1514 |
Monobook.css | 1306 |
Modern.css | 750 |
В зависимости от выбранного оформления движок подключает один из CSS файлов оформления. В этих файлах располагаются CSS правила, зависящие от выбранной темы оформления, как правило для «внешних» элементов интерфейса (находящихся вне области статьи).
В большинстве файлов используются следующие правила:
CSS код | Описание |
---|---|
#siteSub { /*...*/ }
|
оформление подзаголовка «Материал из Тептар — свободной энциклопедии», который в некоторых темах по умолчанию спрятан |
Script/criteriaCheck.js
См. Тептар:Глобальный код/Автоматическая проверка соответствия критериям.
Гаджеты
У многих гаджетов есть страница описания, которую можно найти например со страницы Special:Gadgets.
Скрытые гаджеты
Gadget-registerTool.js
См. Проект:Технические работы/Разработчикам скриптов#Добавление кнопок на панели инструментов.