Dobrovoi Master
сделано с душой
В состоянии постоянного подключения...

Плагин WordPress WP-Syntax

Плагин WordPress WP-Syntax

Сегодня потратил уйму времени на то, чтобы раз и на всегда решить вопрос с выводом блока в котором отображается код с подсветкой синтаксиса. Многие глубоко уважаемые и супер-пупер блогеры ужаснутся, и выпадут в осадок , типа почему так долго или что за неуч. Да приходится признать, что не все так просто в этом мире , особенно если до всего приходится доходить самому. Но тем и интересней сам процесс ведения блога, хотя отсутствие знаний иногда просто вгоняет в ступор.

И так, к чему это я все веду, да к тому, что информации предлагается, надо признать, даже не море, а целый океан, выбирай не хочу. Только вся эта кипа написанного текста в основе своей не очень понятна простому пользователю, коими являются подавляющее большинство наших граждан. К чему сведены описания плагинов или других примочек для блогов или сайтов, да к элементарному переписыванию кодов и ссылок на скачивание.

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

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

Ладно хватит лирических отступлений, вернемся к теме статьи. По причине частого использования в своих постах описаний различных кодов, мне понадобился плагин вставки кода в текст. Так вот, перебрал не один из существующих и остановил свой выбор на WP-Syntax  Почему именно этот плагин? Отвечу так: он очень прост в использовании, поддерживает синтаксис кучи языков программирования, а также умеет исправлять испорченный визуальным редактором код, преобразовывая HTML-коды символов в сами символы.

Для начала как всегда пример работы:

1
2
3
4
5
 public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

Если заинтересовала работа плагина то приступим непосредственно к реализации внедрения его на Ваш блог.
Для этого скачайте сам плагин : WP-Syntax

  • Распакуйте полученный архив
  • Скопируйте папку wp-syntax в /wp-content/plugins/.
  • Зайдя в админ-панель блога активируйте плагин

Настройки плагина практически отсутствуют, можете приступать к использованию на страницах блога. Правильный синтаксис вставки кода выглядит так: <pre lang=”LANGUAGE” line=”1″> ….Ваш код ….</pre>

LANGUAGE это обозначение языка программирования, а line=”1″ это необязательный параметр, указывающий плагину включить нумерацию строк кода с указанного номера.В плагин заложена поддержка подсветки кодов громадного количества языков программирования. Полный перечень языков программирования вы сможете посмотреть здесь: ТЫНЦ  для большинства языков обозначение будет равно названию языка (php, java, css, perl, sql и др.).

Небольшие примеры использования плагина:

1. PHP, без нумерации строк.

<div id="foo">
< ?php
  function foo() {
    echo "Hello World!\\n";
  }
?>
</div>

2. JAVA , c нумерацией строк.

1
2
3
4
5
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

3. Ruby, c нумерацией строк, начиная с 18 строки.

18
19
20
21
22
class Example
  def example(arg1)
    return "Hello: " + arg1.to_s
  end
end

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

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

на код:

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

И после этих не очень хитрых манипуляций все прекрасно работает. Надеюсь не слишком заморочил Вам голову писаниной и думаю информация будет полезной.

Удачи!

Всего комментариев: 1

  • Сергей: 5 апреля, 2010 в 23:49

    Спасибо, просто и доходчиво, давно собирался поставить плагин.

    Ответить

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>