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

This page is a translated version of the page Extension:CodeMirror and the translation is 93% complete.
Outdated translations are marked like this.
Not to be confused with CodeEditor .
Справка по расширениям MediaWiki
CodeMirror
Статус релиза: стабильно
Реализация Пользовательский интерфейс
Описание Обеспечивает подсветку синтаксиса в редакторе викитекста
Автор(ы) Pavel Astakhov (pastakhovобсуждение)
Последняя версия 6.0.0
Политика совместимости Снэпшоты выходят вместе с MediaWiki. Мастер не имеет обратной совместимости.
MediaWiki >= 1.43
Изменения в БД Нет
Лицензия GNU General Public License 2.0 или позднее
Скачать
  • $wgCodeMirrorConflictingGadgets
  • $wgCodeMirrorV6
  • $wgCodeMirrorTemplateFoldingNamespaces
  • $wgCodeMirrorLineNumberingNamespaces
Ежеквартальные загрузки 284 (Ranked 16th)
Использование общедоступными вики 6,549 (Ranked 62nd)
Переведите расширение CodeMirror, если оно доступно на translatewiki.net
Роль Vagrant codemirror
Проблемы Открытые задачи · Сообщить об ошибке
CodeMirror is currently being upgraded to a new major version. See Extension:CodeMirror/6 for the new documentation.

Расширение CodeMirror обеспечивает подсветку синтаксиса в редакторе вики-текста MediaWiki. Оно добавляет кнопку со значком на панель инструментов редактирования, которая позволяет включать и выключать подсветку синтаксиса. Оно поддерживает панель инструментов WikiEditor 2010, а также панель инструментов VisualEditor.

По умолчанию оно выключено. При включении оно заменит стандартную текстовую область редактором, предоставляемым библиотекой CodeMirror. При выключении оно снова переключится на стандартное текстовое поле.

Цвета, используемые в этом расширении, были оптимизированы для повышения контрастности, доступности и лучшей читаемости и теперь соответствуют Руководству по обеспечению доступности веб-контента (WCAG 1.4.3 AA). Цвета обеспечивают лучший доступ для людей с ограниченным зрением, а также для пользователей, работающих в условиях яркого дневного света. (больше информации)


Возможности

Соответствие скобок

Эта функция выделяет самую внутреннюю пару скобок, когда курсор находится между любой парой скобок, а когда курсор находится непосредственно рядом с скобкой, эта функция выделяет соответствующую соответствующую скобку. Сопоставление скобок активно в обоих редакторах, когда подсветка синтаксиса включена в любом пространстве имен, использующем эти редакторы.

Нумерация строк

В режиме редактирования викитекста номера строк автоматически отображаются в обоих редакторах.

Эта функция включена только для пространства имен шаблона в большинстве вики и для всех пространств имен в некоторых вики (см. дорожную карту и конфигурацию).

Режим дальтонизма

Для пользователей, которым трудно различать цвета, CodeMirror предлагает режим, удобный для дальтоников. Эту функцию можно активировать в вики с включенным CodeMirror, перейдя на страницу Special:Preferences.

 

При активной схеме для дальтоников цвета следующих элементов страницы изменяются:

Заголовки, символы, подписи, названия разделов, волшебные слова #E4A400
Шаблоны #9C3A00
HTML-теги, ссылки, математические выражения #56B4E9
Переменные #009E73

Кроме того, удаляются фоновые выделения и цвета из всего текста и объектов. Поведение выделения жирным шрифтом и подчеркивания остается неизменным.


Поддержка браузеров

Поддерживаются все браузеры, которые поддерживает MediaWiki.

Установка

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


Установка Vagrant:

  • Если вы используете Vagrant , установите с помощью vagrant roles enable codemirror --provision

Конфигурация

Для настройки цвета и стиля см. страницу справки Meta. Вы можете использовать свои собственные стили для выделения викитекста. Используемые стили доступны здесь. Вам следует разместить свои собственные стили в common.css .

Добавьте следующий код внизу вашего LocalSettings.php .

# Включение использования CodeMirror по умолчанию, но позволяет пользователям отключать его.
$wgDefaultUserOptions['usecodemirror'] = true;

Чтобы включить дополнительные функции:

$wgCodeMirrorLineNumberingNamespaces
Ограничьте нумерацию строк определенными пространствами имен. По умолчанию используется значение null, что позволяет использовать его для всех пространств имен. Установите значение [], чтобы отключить везде.
$wgCodeMirrorV6
Temporary feature flag to control the migration to CodeMirror 6 (phab:T259059).
$wgCodeMirrorConflictingGadgets
An array of gadget names that, if enabled, will prevent CodeMirror from loading. Defaults to wikEd.

Интеграция расширения

This functionality is subject to change following the CodeMirror 6 upgrade. See Extension:CodeMirror/6#Integration for documentation on CodeMirror 6.

Если ваше расширение MediaWiki добавляет новый тег и вы хотите, чтобы CodeMirror правильно выделял содержимое внутри него, вы можете добавить поддержку CodeMirror в свое расширение. Вот два примера: Расширение Cite и Расширение PhpTags.

Интеграция JavaScript

В этом расширении используются следующие [$url front-end хуки]:

Хук Параметры
Тип Описание
ext.CodeMirror.switch логическое значение Отображается ли сейчас редактор CodeMirror
объект jQuery Текущий "редактор", который представляет собой обычный ‎<textarea /> или элемент .CodeMirror.

If you need to interact with the contents of a CodeMirror instance, use jQuery.plugin.textSelection.

Что сделать

  • К сожалению, содержимое с письмом справа налево не поддерживается. (задача T170001)
  • автозаполнение (задача T95100)
  • код складывания (задача T166098)
  • выделение внутри тега галереи (<gallery> foo | bar </gallery>)

См. также