Плагин Crayon Syntax Highlighter. Неправильное отображение символов
Плагин Crayon Syntax Highlighter используется для отображения на сайте WordPress страницы с кодом, подсвечивая его соответствующим синтаксисом.

Например, для отображения кода 1С таким, как он выглядит в Конфигураторе 1С включаем тему 1C kod

Однако, может возникнуть ситуация, что некоторые символы отображаются некорректно.
Например, вместо [ мы видим [

А вместо < видим <

Переходим в настройки плагина

Для корректного отображения этих символов в настройках плагина включаем опцию «Decode HTML entities in code»

Опция «Decode HTML entities in code» как раз отвечает за преобразование [ → [ и < → <.
Включаем её, затем сохраняем настройки
Обновляем страницу с кодом, переписывать заново ничего не надо
После этого символы должны отображаться нормально.
Так что делает эта галочка?
Она заставляет плагин превращать HTML-сущности обратно в нормальные символы перед тем, как показать код.
То есть, когда мы пишем в WordPress пост с кодом, редактор или плагины могут экранировать специальные символы, чтобы они не сломали HTML-страницу:
| Символ | Экранированный вид (HTML-сущность) |
| < | < |
| > | > |
| [ | [ (или [) |
| ] | ] (или ]) |
| & | & |
По умолчанию Crayon думает: «О, тут < — значит, автор хочет показать именно этот текст, а не открыть HTML-тег. Так и оставлю».
Но на самом деле автор хочет показать символ <. И включение опции говорит плагину: «Сначала расшифруй всё это обратно в нормальные символы, а потом уже подсвечивай синтаксис».
Почему эта опция не включена по умолчанию?
Потому что в редких случаях автор может действительно хотеть показать текст < как строку (например, в учебном примере про HTML-сущности). Но в 99% случаев людям нужны настоящие [ и <.
Итог:
Плагин перестал «умничать» и начал показывать код так, как мы его написали.


|
1 2 3 4 5 6 |
// Найдём доп свойство Период СвойствоПериод = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","Период"); Период = УправлениеСвойствами.ЗначениеСвойства(Объект,СвойствоПериод); Если Период = Неопределено Тогда Период = ""; КонецЕсли |
|
1 2 3 4 5 6 |
<nav> <div id="cssmenu"> <!-- ВОТ ОН, ГЛАВНЫЙ БЛОК --> <div id="menu-button">Menu</div> <!-- Кнопка --> <ul>...пункты...</ul> <!-- Само меню --> </div> </nav> |


Комментарии закрыты