Подсветка синтаксиса очень удобна для использования выделения синтаксических конструкций кода или текста с использованием разнообразного оформления. Обычно применяется в текстовых редакторах для облегчения чтения исходного текста программ.

При публикации в блоге листинга кода очень удобно оформлять его с помощью плагина SyntaxHighlighter Plus.

В результате мы получаем вот такой вот удобно-читаемый блок кода.

function checkParameter(&$var, $class) {
    if (!is_a($var, $class) && $var != null)
        SFExit('Type missmatch.');
}
function SFExit(&$message) {
    print $message . '<br>';
    $backtrace = debug_backtrace();
    for($i = 0; $i < count($backtrace); $i++) {
        print $i . ': ' . $backtrace[$i]['file'] . '(' . $backtrace[$i]['line'] . ')<br>';
    }
    exit();
}

На данный момент публично доступна стабильная версия SyntaxHighlighter Plus 1.01b.

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

А в комментариях на блоге Artslab был найден следующий «рецепт» добавления кнопки для удобства оформления поста в режиме HTML в админской части – достаточно добавить в файл /wp-includes/js/quicktags.js следующие строки:

edButtons[edButtons.length] =
new edButton(’ed_source’
,’source’
,’[source]‘
,’[/source]‘
,’p’
,-1
);

Метки: , , , ,

7 комментария(ев)


  1. Master SV on 16 Дек 2009

    Помогите разобраться, пожалуйста.
    После установки плагина у меня в админке высвечивает такое:
    Fatal error: Call to undefined function: scandir() in /usr/home/master-sv/www.master-sv.lv/www/wp/wp-content/plugins/syntaxhighlighter-plus/syntaxhighlighter.php on line 75

    а в этой строчке прописано :
    $themes = scandir(ABSPATH . PLUGINDIR . ‘/syntaxhighlighter-plus/syntaxhighlighter/styles/’);

    Что не так? Кто в курсе?

  2. BBWorpdress on 21 Дек 2009

    папка styles на месте?

  3. Master SV on 28 Дек 2009

    Да, на месте. Я и не пытался ее куда-либо зашхерить…

  4. orko on 14 Фев 2010

    2.9.1 – тоже самое (не работает админка)

  5. orko on 14 Фев 2010

    scandir() есть только в PHP 5 :(

  6. Игорь on 08 Апр 2010

    if (!is_a($var, $class) && $var != null)

    как убрать amp;amp;& ??

  7. BBWorpdress on 11 Апр 2010

    Игорь, надо «играть» с префиксами обозначения кода


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