WordPress плагін WP-Syntax

64

Сьогодні витратив багато часу на те, щоб раз і на завжди вирішити питання з висновком блоку в якому відображається код з підсвічуванням синтаксису. Багато глибоко шановані і супер-пупер блогери жахнуться, і випадуть в осад , типу чому так довго або що за неук. Так доводиться визнати, що не все так просто в цьому світі , особливо якщо до всього доводиться доходити самому. Але тим і цікавіше сам процес ведення блогу, хоча відсутність знань іноді просто вганяє в ступор.

І так, до чого це я все веду до того, що інформації пропонується, треба визнати, навіть не море, а цілий океан, вибирай не хочу. Тільки вся ця гора написаного тексту в основі своїй не дуже зрозуміла простому користувачеві, якими є переважна більшість наших громадян. До чого зведені описи плагінів або інших примочок для блогів чи сайтів, та до елементарного переписування кодів і посилань на скачування.

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

Повірте мені на слово, в глибинці теж люди і теж горять бажанням долучитися до досі незвіданого світу, ось тільки вчителів та освітньої бази в цій сфері немає, і довго ще не буде. Ось і доводиться до закипання мізків, вгризатися в премудрості життя на просторах глобальної мережі.

Гаразд вистачить ліричних відступів, повернемося до теми статті. З причини частого використання в своїх постах описів різних кодів, мені знадобився плагін вставки коду в текст. Так от, перебрав не один з існуючих і зупинив свій вибір на WP-Syntax Чому саме цей плагін? Відповім так: він дуже простий у використанні, підтримує синтаксис купи мов програмування, а також вміє виправляти зіпсований візуальним редактором код, перетворюючи HTML-коди символів в самі символи.

Для початку як завжди приклад роботи:

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

public class Hello {
public static void main(String[] args) {
System.out.println(“Hello World!”);
}
}

Якщо вас зацікавила робота плагіна то приступимо безпосередньо до реалізації впровадження його на Ваш блог.
Для цього скачайте сам плагін : WP-Syntax

  • Розпакуйте отриманий архів
  • Скопіюйте папку wp-syntax в /wp-content/plugins/.
  • Зайшовши в адмін-панель блогу активувати плагін

Налаштування плагіна практично відсутні, можете приступати до використання на сторінках блогу. Правильний синтаксис вставки коду виглядає так:

 ....Ваш код ....

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!");
}
}

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

class Example
def example(arg1)
return “Hello:” + arg1.to_s
end
end

Все, плагін у нас працює і все рухається в правильному напрямку по шляху розвитку. Зауважу лише одну кострубатість у роботі цієї фічі: іноді плагін може виводити замість > його код > Але у цієї проблеми є рішення: для цього треба замінити у файлі wp-syntax.php:

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

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

код:

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

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

І після цих не дуже хитрих маніпуляцій все чудово працює. Сподіваюся, не занадто заморочив Вам голову писаниною і думаю інформація буде корисною.

Удачі!