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

This page is a translated version of the page Extension:CharInsert and the translation is 100% complete.
Справка по расширениям MediaWiki
CharInsert
Статус релиза: стабильно
Реализация Тег , Действие страницы , MyWiki
Описание Позволяет создавать поля для вставки символов на JavaScript.
Автор(ы) Brion Vibber (Brooke Vibberобсуждение)
Последняя версия continuous updates
Политика совместимости Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki >= 1.42
Лицензия GNU General Public License 2.0 или позднее
Скачать
‎<charinsert>
Ежеквартальные загрузки 100 (Ranked 63rd)
Использование общедоступными вики 9,224 (Ranked 15th)
Переведите расширение CharInsert, если оно доступно на translatewiki.net
Проблемы Открытые задачи · Сообщить об ошибке

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

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

Синтаксис

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

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

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

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

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

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

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

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

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

возвращает

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

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

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

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

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

возвращает

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

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

Переопределение отображаемого текста

Версия MediaWiki:
1.38
Gerrit change 748823

Другой отображаемый текст может быть указан в атрибуте label (если вы используете это, вы должны использовать отдельные теги <charinsert> для каждого символа, чтобы указать разные отображаемые тексты).

<charinsert label="Latin A">A</charinsert> <charinsert label="Cyrillic А">А</charinsert> <charinsert label="Greek Alpha">Α</charinsert>

возвращает

Latin A Cyrillic А Greek Alpha

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

Замечания

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

Установка

  • Скачайте и распакуйте файл(ы) в папку с названием CharInsert в вашей папке extensions/.
    Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CharInsert
  • Добавьте следующий код в конце вашего файла LocalSettings.php :
    wfLoadExtension( 'CharInsert' );
    
  • Если вы используете гаджет Edittools , обновите его до последней версии (≥ 3 апреля 2020)
  •   Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

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

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

Оформление

 

Чтобы дополнительно настроить отображение списков 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>
  Заметка::
  • Не изменяйте текст '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, либо вручную скопируйте следующие четыре страницы интерфейса в свою вики:

  • В MediaWiki:Gadgets-definition добавьте следующие определения:
    * 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