Расширение:CharInsert

This page is a translated version of the page Extension:CharInsert and the translation is 100% complete.
Справка по расширениям MediaWiki
OOjs UI icon advanced-invert.svg
CharInsert
Статус релиза: стабильный
Реализация Тег , Действие страницы , MyWiki
Описание Позволяет создавать поля для вставки символов на JavaScript.
Автор(ы) Brion Vibber (Brion VIBBERобсуждение)
Последняя версия continuous updates
Политика совместимости Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.25+
PHP 5.4+
Лицензия GNU General Public License 2.0 or later
Загрузка
‎<charinsert>
Переведите расширение CharInsert если оно доступно на translatewiki.net

Проверьте использование и версию.

Проблемы Открытые задачи · Сообщить об ошибке

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

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

Синтаксис

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

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

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

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

<charinsert><nowiki>== + ==</nowiki> <nowiki>{{stub}}</nowiki></charinsert>

Использование и пример вывода

Отдельные символы

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

<charinsert>Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź</charinsert>

возвращает

Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź

Нажатие на ссылки не будет иметь эффекта, если страница не находится в режиме редактирования.

Комбинации символов

Комбинации символов перечисляются внутри тэгов ‎<charinser>...‎</charinser> и соединяются символом +.

<charinsert>“+” ‘+’ «+» ‹+› „+“ ‚+‘ [[+]] {{+}}</charinsert>

возвращает

“” ‘’ «» ‹› „“ ‚‘ [[]] {{}}

Нажатие на ссылки не будет иметь эффекта, если страница не находится в режиме редактирования.

Замечания

  • Полученные JavaScript-ссылки также работают в других областях рядом с окном редактирования: например, в MediaWiki:Copyrightwarning или MediaWiki:Newarticletext, на страницах, загруженных с Inputbox и из предпросмотра текста.
  • Также они могут использоваться в MediaWiki:Uploadtext для вставки шаблонов описания изображения.
  • В отличие от кнопок вставки на верхней панели это расширение не даёт способа указать пример вставляемого текста.
  • Используйте &#10; для добавления переносов строки (\n).
  • Заключайте пробелы в тэги ‎<nowiki>...‎</nowiki> при необходимости.
  • Применяйте тэги ‎<charinsert>...‎</charinsert> в MediaWiki:Edittools.

Установка

Из-за бага T88922 панель, добавляемая CharInsert не работает на служебной странице Загрузка в версии MediaWiki 1.27.x. Используйте версии для MediaWiki 1.28+, но обратите внимание, что некоторые гаджеты могут работать не так, как предполагается, без их обновления.
  • Скачайте и распакуйте файл(ы) в папку с названием CharInsert в вашей папке extensions/.
  • Добавьте следующие строки в конец файла LocalSettings.php:
    wfLoadExtension( 'CharInsert' );
    
  • Если вы используете гаджет Edittools , обновите его до последней версии (≥ 27 мая 2016)
  •   Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Для использующих MediaWiki 1.24 или более ранние версии:

В приведенных выше инструкциях описывается новый способ установки этого расширения с использованием wfLoadExtension(). Если вам нужно установить это расширение на более ранние версии (MediaWiki 1.24 и более ранние), вместо wfLoadExtension( 'CharInsert' );, вам необходимо использовать:

require_once "$IP/extensions/CharInsert/CharInsert.php";

Расширенная установка

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

Оформление

 

Чтобы дополнительно настроить отображение списков charinsert, заключите содержимое Edittools в тэги <div class="mw-charinsert-buttons"> и ‎</div> и определите класс в MediaWiki:Common.css.. Этот сайт (www.mediawiki.org) использует такое оформление, при котором эти ссылки выглядят как кнопки (см. скриншот справа). Для этого используется приведённая ниже таблица стилей, скопируйте её в ваш MediaWiki:Common.css, чтобы получить тот же результат.

 
/**
 * Styling for links generated by [[MediaWiki:Edittools]]
 * @source https://www.mediawiki.org/wiki/Extension:CharInsert#Styling
 * @updated 2020-03-17
 */
.mw-charinsert-buttons {
	border: 1px solid #aaa;
	margin-top: 10px;
	padding: 1px;
	font-size: 1.1em;
	text-align: center;
}

.mw-charinsert-buttons a {
	background-color: #cde !important;
	color: #000;
	border: thin #069 outset;
	padding: 0 1px 1px;
	font-weight: bold;
	font-size: 0.9em;
	text-decoration: none;
}

.mw-charinsert-buttons a:hover,
.mw-charinsert-buttons a:active {
	background-color: #bcd;
	border-style: inset;
}

.client-js .mw-edittools-section {
	display: inline;
}

.client-js .mw-edittools-section input[type="button"] {
	font-size: 0.9em;
	margin-left: 1px;
	padding-left: 1px;
	padding-right: 1px;
}

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

 
/**
 * Styling for links generated by [[MediaWiki:Edittools]] in WikimediaUI inspired theme.
 * @source https://www.mediawiki.org/wiki/Extension:CharInsert#Styling
 * @updated 2020-03-17
 */
.mw-charinsert-buttons {
	margin-top: 8px;
	border: 1px solid #c8ccd1;
	padding: 2px 4px 4px;
	font-size: 1.1em;
	text-align: center;
}

.mw-charinsert-buttons a {
	background-color: #f8f9fa !important;
	color: #202122;
	border: thin #36c outset;
	padding: 0 1px 2px;
	font-size: 0.9em;
	font-weight: bold;
	text-decoration: none;
}

.mw-charinsert-buttons a:hover {
	background-color: #fff;
    color: #404244;
}

.mw-charinsert-buttons a:active {
	background-color: #c8ccd1;
	border-style: inset;
}

.client-js .mw-edittools-section {
	display: inline;
}

.client-js .mw-edittools-section input[type="button"] {
	background-color: #f8f9fa;
	color: #202122;
	margin-left: 1px;
    border-radius: 2px;
	padding: 1px 6px;
	font-size: 0.9em;
    /* Apply pointer cursor to all interactive elements. */
    cursor: pointer;
}

.client-js .mw-edittools-section input[type="button"]:hover {
	background-color: #fff;
    color: #404244;
}

.client-js .mw-edittools-section input[type="button"]:active {
	background-color: #c8ccd1;
    color: #000;
}

Использование в скриптах

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

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

<div id="mw-edittools-charinsert" class="mw-charinsert-buttons" title="Click on the wanted special character.">
...
</div>
2. Оберните каждый индвидуальный блок charinsert в тэги ‎<p> по образцу ниже:
<p class="mw-edittools-section" data-section-title="Wiki-Syntax" style="display: none;">
...
</p>
Note:
  • Не изменяйте текст 'mw-edittools-section'
  • Текст в атрибуте "data-section-title=" будет идентификатором группы в выпадающем меню.
  • Убедитесь, что одна из групп не содержит указания 'style="display: none;"': она будет выбором по умолчанию для выпадающего меню. На этом сайте такая группа называется Standard, а остальные группы названы по языкам, символы которых они содержат.
3. Скопируйте содержимое MediaWiki:Gadget-Edittools.js на одноимённую страницу собственной вики
4. Добавьте следующий код к MediaWiki:Gadgets-definition:
* Edittools[ResourceLoader|default]|Edittools.js

Меню CharInsert в Английской Википедии

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

* 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 в Английской Википедии он не работает.

Note: Данный набор символов и заготовок для вставки из Английской Википедии также включает в себя шаблоны, которые должны быть созданы отдельно, если будут нужны в вашей вики.

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