Тептар:Глобальный код

Материал из Тептар — свободной энциклопедии
Версия от 13:19, 31 января 2022; Mansur700 (обсуждение | вклад) (Новая страница: «{{shortcut|wp:code|ТП:КОД}} {{TOC right}} В сентябре 2017 года был произведен глобальный рефакторинг ко...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
↱
  • wp: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- и новых участников, остальные участники по желанию могут добавить себе в ваш личный 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;
}
Фон 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 1514
Monobook.css 1306
Modern.css 750

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

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

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

Script/criteriaCheck.js

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

Гаджеты

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

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

Gadget-registerTool.js

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

См.также