papilio

Записи с меткой «WP-Syntax»

Подсветка кода в WordPress

Мне достаточно часто требуется подсветка кода в моих записях: это удобно прежде всего читателям. Например, как приятно смотреть на следующий код:

def getClass():
    return dict
class D(getClass()):
    pass
d = D()

Раньше мы пользовались плагином CodeColorer : отличный плагин на основе GeSHi для подсветки исходных кодов. Код можно выделять как тэгами [cc][/cc], так и тэгами <code>. Плагин отличный, но немного устарел и уже начинал подглючивать здесь на блоге, да и оформление кода мне не нравилось (исправлять стили не хотелось).

Оказывается, есть много конкурентов. Я выбрал для замены самый популярный: WP-Syntax.

Синтаксис здесь уже немного другой: используется тэг <pre>, поэтому сейчас придётся исправить все старые записи. А во всё остальном мне плагин нравится: оформление по умолчанию отличное и также использует GeSHi, поэтому в него заложена поддержка подстветки кодов громадного количества языков программирования.

Но есть и более серьёзная проблема: иногда он может выводить вместо > его код &gt;. На страницах обсуждения плагина я нашёл решение. Для этого надо заменить в файле wp-syntax.php

$geshi = new GeSHi($code, $language);

на код

$geshi = new GeSHi(htmlspecialchars_decode($code), $language);

После этого всё работает. Теперь буду оформлять код (в т.ч. и bash) с помощью этого плагина.

Метки: , , , , , ,