Syntax Recolor

**Syntax Recolor** — скрипт, позволяющий менять цвет подсветки синтаксиса в редакторе исходного кода. После ввода UCP потерял свой смысл из-за изменения системы подсветки синтаксиса.

## Установка

Чтобы установить скрипт, нужно добавить следующий код:

```
importArticles({
 type: 'script',
 articles: [
 'u:ru.koffee:MediaWiki:SyntaxRecolor.js',
 ]
})

```

Для персональной установки в пределах одной вики его надо вставить на страницу common.js, для глобального использования — global.js на Community Central.

## Описание

При редактировании в режиме исходного кода для простоты восприятия написанного ФЭНДОМ предоставляет подсветку синтаксиса. В обычных условиях сменить раскраску цветных блоков довольно проблематично, но именно для этих целей и написан данный скрипт.

Итак, с помощью Syntax Recolor и простейших стилей CSS можно настраивать цвет подсвечиваемых фрагментов кода.

## Настройка

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

Например, чтобы сделать ссылки красными, будет достаточно кода:

```
.a-link:after, .b-link:before { background: #F00 !important }

```

`!important` должен быть обязательно, иначе изменения не вступят в силу.

## Как это работает

Данный скрипт представляет из себя сплошной техношок-контент. Он проверяет каждый элемент `<span>`, который содержит в себе псевдоэлементы `:after` и `:before`, задающие подсветку. В случае, если цвет псевдоэлемента совпадает с одним из "каноничных" цветов, родительскому `<span>` выдается класс, обозначающий один из двух псевдоэлементов и его тип. Такие проверки происходят раз в одну секунду, поэтому иногда общая картина может выглядеть некорректно.

Для темной темы, где существует один баг, предусмотрена специальная конструкция, выявляющая внешнюю ссылку и выдающая необходимый класс.

## История версий

* (FA) **[20.12.2019]:** первое появление скрипта.
* (PP / D) **Версия 1.0 [04.01.2020]:** публикация скрипта.

## От автора

История началась днем 20 декабря 2019 года. Делать было нечего, я зависал в Дискорде. И тут в канал GD Wiki [Staff] скидывают пикчу с вопросом DDPAT Knife Series'а (тогда — Lifefe) на Вики Сообщества, где он бросил клич, мол, помогите, люди добрые, как покрасить редактор исходного кода? Я, как последний дурак, бросился пробовать сделать это. Стоит отметить, что ранее я уже предпринимал такие попытки, но они не увенчались успехом.

Сначала мне удалось извлечь стили псевдоэлементов, а затем пришла мысль, как изменить их стиль. Таким образом, к концу 2019 года была готова половина скрипта, отвечающая за светлую тему. Осталось только обтесать оставшиеся углы, а до темной темы рукой было подать. Но появилась загвоздка: тип тегов HTML, стоявший первым в списке цветов, никак не хотел отображаться нормально, а все время мигал. Как это пофиксить, я не имел представления.

Но озарение снизошло: стоило мне добавить в массив цветов "нулевой элемент", не имевший ни цвета, ни имени, как моргание прекратилось. Быстро разобравшись с регулярными выражениями, я сколотил хандлер и для темной темы.

## Примечания

1. ↑ Из-за бага ФЭНДОМА цвет отсутствует, но подсветка должна выглядеть так: [https://youtube.com].