В поставку OctoberCMS уже входят скрипты Prettify, но по умолчанию они применяются только в бэкенде. Впрочем, подключить их к постам фронт-энда не очень трудно.
Сначала нужно добавить в разметку соответствующие скрипты и стили, например, вкорячив их в scripts и styles, или просто рядом с остальными ассетами в лейауте:
{% styles %}
<link href="{{ [
// ...
'~/modules/system/assets/vendor/prettify/theme-desert.css',
// ...
]|theme }}" rel="stylesheet">
{% scripts %}
<script src="{{ [
// ...
'~/modules/system/assets/vendor/prettify/run_prettify.js',
// ...
]|theme }}"></script>
(многоточия приведены для иллюстрации, что в массиве можно передать и склеить много разных скриптов)
И после этого можно просто добавить в контент, генерируемый маркдауном, нужные классы в html, в котором есть форматируемые коды. Например, через стандартные фильтры вывода можно добавить в код компонента, выводящего блог-пост:
<div class="content">
{{ post.content_html | replace({'<pre>': '<pre class = "prettyprint">'}) | raw }}
</div>
А если html генерится не стандартным маркдауном, а как-то еще, то можно сразу в pre добавить класс prettyprint
, и фильтр не понадобится.