Информация для тех, кто хочет завести блог или сайт с документацией на MODX, где нужно выводить код, как в данном блоге.
Включаем кнопку добавления кода в TinyMCE (RTE)
Чтобы включить возможность добавления кода в TinyMCE (RTE), нужно включить плагин CodeSample и добавить его кнопку на панели редактора. Для этого идем в системные настройки:
- В настройку tinymcerte.plugins добавляем плагин codesample.

- Далее точно таким же способом добавляем его кнопку в тулбар, делается это в настройке tinymcerte.toolbar1
После этого у вас появится кнопка добавления кода.

Нажав на которую вы увидите вот такое выплывающее окно.

В котором можно выбрать язык вставляемого кода, по умолчанию это следующие языки:
- HTML/XML
- JavaScript
- CSS
- PHP
- Ruby
- Python
- Java
- C
- C#
- C++
Данный набор языков можно предопределить подключив свой конфигурационный файл к редактору. К примеру я создаю сайт с документацией по Bootstrap (вернее уже сделал) и мне нужны только языки: HTML/XML, CSS и Sass (SCSS).
Для этого создаем external-config.json со следующим содержимым:
{
"codesample_languages": [{
"text": "HTML/XML", "value": "markup"
}, {
"text": "JavaScript", "value": "javascript"
}, {
"text": "CSS", "value": "css"
}, {
"text": "Sass (SCSS)", "value": "scss"
}]
}
Закидываем файл в assets/components и затем подключаем в системной настройке tinymcerte.external_config.

Теперь у нас будет свой набор нужных нам языков:

Давайте попробуем вставить туда кусочек HTML кода:

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

Наш код немного видоизменился, некоторые элементы изменены на спец символы + весть код стал обвернут в:
<pre class="language-язык-вставки"><code>здесь код</code></pre>
Отображается по умолчанию он без какой либо подсветки:

исправим это.
Подсветка вставленного кода во фронтенд
Для подсветки кода, я обычно использую небольшую настраиваемую JS библиотеку под названием prism.
Идем на страницу https://prismjs.com/download.html, выбираем тему, нужные языки и плагины.

Ну и скачиваем JS и CSS Prism

Заливаем файлы на сервер и подключаем к нужным шаблонам) Получаем подсвеченный код.

Все. Теперь вы можете создать сайт с документаций.










