☰
  • Гаджеты
    • iPhone
    • Android
    • Новости
    • Обои для смартфонов
    • Программы для android
    • Обзоры о гаджетах
    • Программы
  • Компьютеры
    • Windows
    • Ubuntu
    • MS Office
    • Программы для ПК
    • Обслуживание и защита ПК
  • Интернет
    • Браузер
    • Создание сайтов
    • SEO и раскрутка
    • Социальные сети
    • Заработок
    • Сатострой
  • Игры
    • Клиентские
    • Браузерные
    • Мобильные
    • Ретро
  • Другое
    • 1С Бухгалтерия
    • Техно-статьи
    • Дайджест

Выбор плагина Wordpress для подсветки кода в постах

Плагины для подсветки кода

Привет, друзья. Давно мучаюсь над вопросом подсветки кода в Wordpress-постах. Перебрал уже несколько решений, но каждый раз я натыкался на недоработки или просто на отсутствие нужных функций. Сегодня решил рассказать, какие плагины я пробовал, чем они запомнились, а так же озвучу свой окончательный выбор.WP-Syntax

Начнем с самого популярного плагина wp-syntax. Честно говоря, я так и не понял, почему он всем так нравится. Единственный его плюс - это поддержка большего количества языков, но учитывая, что подсветка во всех плагинах сделана на одном движке GeSHi, этого достоинства не лишены и другие, менее популярные, плагины.

Принцип работы плагина очень простой - достаточно вписать код между тегами <pre lang="ruby/php/c++/java..."></pre> и все заработает. Хочу отметить, что по этому принципу работают все подобные плагины. Но тут подвох в том, что <pre> это html-тег, поэтому вписывать его нужно только в HTML-режиме редактора Wordpress, а при переключении в визуальный режим эти теги могут запросто сконвертироваться в escape-последовательности, и соответственно код подсвечиваться не будет.

У меня не раз была ситуация, когда я писал статью в которой больше 20 вставок кода, потом случайно переключался в визуальный режим, после чего еще пол часа мучился вручную проставляя все теги <pre>.

Решалась эта проблема просто - добавлением шорткодов между которыми нужно вписывать код, и которые прекрасно работают как в визуальном, так и в HTML-режиме редактора. Но в WP-Syntax такой функции нет.

Еще очень надоедало каждый раз руками вписывать <pre> теги, очень не хватало кнопки в редакторе, которая делает это автоматом.

В тоге WP-Syntax был благополучно удален.

SyntaxHighlighter Plus

Этот плагин прожил у меня чуть дольше чем предыдущий, по той простой причине, что у него была кнопка в редакторе, с помощью которой можно было автоматом вставлять теги <pre> и выбирать язык из выпадающего списка. Уже лучше, но проблема с переключением режимов редактора осталась, так как даже при авто-вставке <pre> этих тегов не видно в визуальном режиме и непонятно куда вписывать код.

Сносим SyntaxHighlighter Plus, ищем, что-то получше.

SyntaxHighlighter Evolved

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

Казалось бы, нашел более менее подходящий плагин, но тут пришло обновление Wordpress до версии 3.0.1. Обновился и увидел, что SyntaxHighlighter Evolved попросту не работает. Попробовал переустановить - не помогло. Удалил и снова отправился искать...

Итак, победитель Better WordPress Syntax Highlighter

Я был искренне удивлен, почему я не нашел этот плагин раньше. Тут есть все, что нужно.

Настройки [кликабельно]:

Первыми тремя флажками выбираем как именно будем вставлять код в посты (стандартный <pre>, тег <code> или шорткод). Я выбрал два последних, но пользуюсь только шорткодом.

Установите флажок Search and remove nested shortcodes? если будете пользоваться и <pre> и <code>, чтобы избежать конфликтов при вложенности этих тегов.

Parse code inside comments? - ставим, если хотим, чтобы код в комментариях тоже подсвечивался.

Default lang if none specified - из выпадающего списка выбираем язык, который будет использоваться по умолчанию, если он явно не указан в теге или шорткоде.

Show line numbers? - показывать ли номера строк

Hide the codeblock by default? - если выбран, то блоки кода будут скрыты и чтобы их показать нужно будет нажать на плюсик.

Остальные флажки можно не трогать.

Так же у плагина есть вкладка настроек темы плагина. Там можно выставить высоту линии кода и другие мелочи, я все оставил по умолчанию.

Кроме того у Better WordPress Syntax Highlighter есть удобная кнопка в редакторе, которая выводит вот такое меню:

Здесь можно ввести нужный код, выбрать язык, а так же определить теги, между которыми будет код. Так же можно определить Inline-способ вставки, при котором текст не будет перенесен на новую строку, а так же будет выстроен в одну строчку, такой вид нужен для маленьких блоков кода, вот таких [code lang="ruby" inline="yes"]print "Hello,World!"[/code]

Вот такой замечательный плагин. И напоследок приведу пример отображения Ruby кода:

[code lang="ruby"]

a = 1..10
a.each do |b|
   print "Hello "*b
end

[/code]

На сегодня у меня все, не забывайте подписывать на RSS или E-mail рассылку. Удачи, друзья!




  • Гороскоп по знакам зодиака на март 2021 года
  • Лунный посевной календарь на март 2021
  • Лунный календарь стрижек на март 2021
  • Лунный календарь маникюра на март 2021



  • Дата публикации: 2020-10-09

    Автор статьи:
    Alex Zolnov


    • Популярное
    • Новое
    На тему Android и Apple
    Dungeon Hunter 3 - игра для Android 2012
    Програма Навигатор для OS Android
    Телефоны с Android доступны для всех
    Чем открыть Fb2 на компьютере и в Андроид?
    Виджет часы для Андроид
    Max Payne mobile - Игра для Android 2012
    Как сделать зачеркнутый текст в ВК?
    Как сделать всплывающие уведомления в ВК Андроид?
    Как отключить подписку ВК на музыку Айфон?
    Как отключить безопасный поиск ВК на Айфоне?
    Как скачать музыку с ВК?
    Как скачать фото из яндекса на компьютер?
    Как увидеть историю посещения сайтов?


    © 2020 Блог о компьютерах, гаджетах и программах
    Все права защищены. При копировании материалов ссылка на сайт обязательна.
    Cайт носит информационный характер и не является публичной офертой согласно положениям статьи 437 ГК РФ.