«

»

Мар
23

Подсветка синтаксиса в WordPress. Как добавить код в сообщения?

А никак! O_O 

Сегодня провозившись очередные 4 часа, изучая всевозможные способы вставки кода в сообщения, в очередной раз пришел в выводу, что универсального способа нет. Вы конечно можете вставить PHP или Java код и он отлично подсветится, но восторг продлится не долго (хотя может длиться вечность, до тех пор…) Как только вы захотите вставить xml или html и подсветить его, то начинаются сложности.

Проблема в том, что визуальный редактор удаляет непонятные ему теги. Причем не только теги, но и некорректные атрибуты у известных ему тегов. Поэтому xml, который вы поместили внутрь тегов <pre></pre>, чтобы он подсветился, будет либо удален (если вы переключились из режима HTML в визуальный), либо будет с экранированными спец символами, и вместо <merge> вы увидите &lt;merge&gt;.

Замена визуального редактор на TinyMCE Advanced, Ultimate TinyMCE или CKE Editor не дала результата. Продолжая гуглить, я нашел плагин WP-Syntax, который для тега <pre> обрабатывает атрибут escaped, и если вы напишете <pre lang=”xml” escaped=”true”>&lt;merge&gt;</pre>, то все заэкранированные символы будут отображены корректно. “Вот ОНО!!!” – подумал я. Но не тут то было, как только вы из режима HTML переключитесь в визуальный, то визуальный редактор избавится от непонятного ему атрибута escaped и код опять примет удручающий вид.

Мое решение.

DropBox. Причем тут дропбокс спросите вы? А вот причем. Для подсветки синтаксиса я использую плагин Crayon Syntax Highlighter, он умеет вставлять в сообщения и подсвечивать код, который находится по заданному URL. Поэтому внутри сообщения вы можете написать <crayon lang=”xml” url=”http://dl.dropbox.com/u/99999999/code/супер_код.xml” /> и все. Потом конечно же, когда статья завершена я загружаю эти файлы с кодом на сайт в специально созданную для этого папочку и исправляю ссылки в тегах <crayon>. Немного сложновато, но зато работает 100%.

Не нужно больше беспокоиться, что случайно переключился в визуальный режим и часть кода опять пропала или выглядит не так как хотелось бы. А благодаря дропбоксу можно спокойно редактировать файлы с кодом у себя на машине любимым редактором. Остается по завершении написания поста перекинуть файлы из дропбокса в папочку на сервер (а можно так и оставить в дропбоксе) и поправить ссылки.

 

1 комментарий

  1. admin Сообщает:

    тоже так делаю )

Добавить комментарий

Мы сохраним Ваш e-mail в тайне.