Extension:CharInsert/ru

Расширение CharInsert позволяет создавать реализованные на JavaScript ссылки, которые при нажатии на них вставляют предопределённый текст в текстовое поле.

Эти ссылки обычно используются в системном сообщении MediaWiki:Edittools (например, в этой вики).

Синтаксис
В тэги помещается список разделяемых пробелами символов или тэгов, которые планируется вставлять.

Знак плюса + внутри тэга определяет место, куда


 * вставится выделенный текст или
 * поместится курсор, если не было выделенного текста.

Шаблоны и пробелы следует оборачивать в :

Отдельные символы
Отдельные символы просто перечисляются внутри тэгов .

возвращает

Комбинации символов
Комбинации символов перечисляются внутри тэгов  и соединяются символом.

возвращает

Замечания

 * Полученные JavaScript-ссылки также работают в других областях рядом с окном редактирования: например, в MediaWiki:Copyrightwarning или MediaWiki:Newarticletext, на страницах, загруженных с и из предпросмотра текста.
 * Также они могут использоваться в MediaWiki:Uploadtext для вставки шаблонов описания изображения.
 * В отличие от кнопок вставки на верхней панели это расширение не даёт способа указать пример вставляемого текста.
 * Используйте  для добавления переносов строки (\n).
 * Заключайте пробелы в тэги  при необходимости.
 * Применяйте тэги  в MediaWiki:Edittools.

Расширенная установка
Важное: Для работы требуется Расширение:Gadgets.

Оформление


Чтобы дополнительно настроить отображение списков charinsert, заключите содержимое Edittools в тэги  и  и определите класс в .. Этот сайт (www.mediawiki.org) использует такое оформление, при котором эти ссылки выглядят как кнопки (см. скриншот справа). Для этого используется приведённая ниже таблица стилей, скопируйте её в ваш, чтобы получить тот же результат.

Также можно использовать стиль, близкий к Wikimedia Design Style Guide и the WikimediaUI theme:

Использование в скриптах
Если используется слишком много ссылок CharInsert, с помощью JavaScript их можно организовать в отдельные группы и переключаться между ними в выпадающем меню. Например, отделить символы с диакритикой от вики-синтаксиса и т.д. Так уже сделано на некоторых сайтах (таких как mediawiki.org, de.wikipedia.org и en.wikipedia.org). Хотя каждый из них реализовал это собственным способом. Способ, используемый на mediawiki.org, изложен ниже:

1. Заключите все тэги charinsert на MediaWiki:Edittools в контейнер и укажите для него уникальный понятный идентификатор ID (например, "mw-edittools-charinsert"):
 * 2. Оберните каждый индвидуальный блок charinsert в тэги по образцу ниже:


 * Note:
 * Не изменяйте текст 'mw-edittools-section'
 * Текст в атрибуте "data-section-title=" будет идентификатором группы в выпадающем меню.
 * Убедитесь, что одна из групп не содержит указания ' ': она будет выбором по умолчанию для выпадающего меню. На этом сайте такая группа называется Standard, а остальные группы названы по языкам, символы которых они содержат.
 * 3. Скопируйте содержимое MediaWiki:Gadget-Edittools.js на одноимённую страницу собственной вики
 * 4. Добавьте следующий код к :


 * Edittools[ResourceLoader|default]|Edittools.js

Меню CharInsert в Английской Википедии
Для реализации меню CharInsert по примеру используемого в Английской Википедии, либо экспортируйте гаджеты Charinsert-core, Charinsert-styles и Charinsert, а затем импортируйте в свою вики с помощью Special:Import, либо вручную скопируйте следующие четыре страницы интерфейса в свою вики:


 * MediaWiki:Gadget-charinsert-core.js (Wikipedia) - Главный файл JavaScript.
 * MediaWiki:Gadget-charinsert-styles.css (Wikipedia) - Оформляет ссылки charinsert как кнопки.
 * MediaWiki:Gadget-charinsert.js (Wikipedia) - Загрузчик CharInsert.
 * MediaWiki:Gadget-charinsert (Wikipedia) - For the text shown in user preferences' gadgets section.

Note: Данный набор символов и заготовок для вставки из Английской Википедии также включает в себя шаблоны, которые должны быть созданы отдельно, если будут нужны в вашей вики.
 * In your MediaWiki:Gadgets-definition, add the following definitions:
 * charinsert[ResourceLoader|default|peers=charinsert-styles]|charinsert.js
 * charinsert-core[ResourceLoader|hidden|dependencies=jquery.textSelection,user,mediawiki.storage]|charinsert-core.js
 * charinsert-styles[ResourceLoader|hidden|type=styles]|charinsert-styles.css
 * MediaWiki:Edittools (Wikipedia) - Только для пользователей с выключенным или неподдерживаемым JavaScript (но такая настройка отключает и расширение WikiEditor), поэтому не является необходимым. Просто показывает символы в виде обычного текста под окном редактирования, откуда они могут быть скопированы вручную, что может быть полезно для некоторых пользователей. Очевидно, что при отключённом JavaScript в Английской Википедии он не работает.

Решиние для Английской Википедии проверено 6 ноября 2018