А никак! O_O 
Сегодня провозившись очередные 4 часа, изучая всевозможные способы вставки кода в сообщения, в очередной раз пришел в выводу, что универсального способа нет. Вы конечно можете вставить PHP или Java код и он отлично подсветится, но восторг продлится не долго (хотя может длиться вечность, до тех пор…) Как только вы захотите вставить xml или html и подсветить его, то начинаются сложности.
Проблема в том, что визуальный редактор удаляет непонятные ему теги. Причем не только теги, но и некорректные атрибуты у известных ему тегов. Поэтому xml, который вы поместили внутрь тегов <pre></pre>, чтобы он подсветился, будет либо удален (если вы переключились из режима HTML в визуальный), либо будет с экранированными спец символами, и вместо <merge> вы увидите <merge>.
Замена визуального редактор на TinyMCE Advanced, Ultimate TinyMCE или CKE Editor не дала результата. Продолжая гуглить, я нашел плагин WP-Syntax, который для тега <pre> обрабатывает атрибут escaped, и если вы напишете <pre lang=”xml” escaped=”true”><merge></pre>, то все заэкранированные символы будут отображены корректно. “Вот ОНО!!!” – подумал я. Но не тут то было, как только вы из режима HTML переключитесь в визуальный, то визуальный редактор избавится от непонятного ему атрибута escaped и код опять примет удручающий вид.
Мое решение.
DropBox. Причем тут дропбокс спросите вы? А вот причем. Для подсветки синтаксиса я использую плагин Crayon Syntax Highlighter, он умеет вставлять в сообщения и подсвечивать код, который находится по заданному URL. Поэтому внутри сообщения вы можете написать <crayon lang=”xml” url=”http://dl.dropbox.com/u/99999999/code/супер_код.xml” /> и все. Потом конечно же, когда статья завершена я загружаю эти файлы с кодом на сайт в специально созданную для этого папочку и исправляю ссылки в тегах <crayon>. Немного сложновато, но зато работает 100%.
Не нужно больше беспокоиться, что случайно переключился в визуальный режим и часть кода опять пропала или выглядит не так как хотелось бы. А благодаря дропбоксу можно спокойно редактировать файлы с кодом у себя на машине любимым редактором. Остается по завершении написания поста перекинуть файлы из дропбокса в папочку на сервер (а можно так и оставить в дропбоксе) и поправить ссылки.
1 комментарий
admin Сообщает:
30.11.2012 на 9:45 пп (UTC 0 )
тоже так делаю )