Extension:CharInsert/ru

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

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

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

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


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

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

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

возвращает

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

возвращает

Overriding display text
A different display text can be specified in the  attribute (if you use this, you should use separate   tags for each character in order to specify different display texts).

results in

Замечания

 * Полученные 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