Подсветка кода в WordPress
Мне достаточно часто требуется подсветка кода в моих записях: это удобно прежде всего читателям. Например, как приятно смотреть на следующий код:
def getClass(): return dict class D(getClass()): pass d = D()
Раньше мы пользовались плагином CodeColorer : отличный плагин на основе GeSHi для подсветки исходных кодов. Код можно выделять как тэгами [cc][/cc], так и тэгами <code>. Плагин отличный, но немного устарел и уже начинал подглючивать здесь на блоге, да и оформление кода мне не нравилось (исправлять стили не хотелось).
Оказывается, есть много конкурентов. Я выбрал для замены самый популярный: WP-Syntax.
Синтаксис здесь уже немного другой: используется тэг <pre>, поэтому сейчас придётся исправить все старые записи. А во всё остальном мне плагин нравится: оформление по умолчанию отличное и также использует GeSHi, поэтому в него заложена поддержка подстветки кодов громадного количества языков программирования.
Но есть и более серьёзная проблема: иногда он может выводить вместо > его код >. На страницах обсуждения плагина я нашёл решение. Для этого надо заменить в файле wp-syntax.php
$geshi = new GeSHi($code, $language);
на код
$geshi = new GeSHi(htmlspecialchars_decode($code), $language);
После этого всё работает. Теперь буду оформлять код (в т.ч. и bash) с помощью этого плагина.
Коммент.(3)