Блогу 9 лет! Рассказываю об изменениях за последний год!

Всем большой привет, дорогие друзья! Вот и настал этот чудесный день — День Рождения блога! Буквально через год грядёт юбилейная дата, а сегодня блог отмечает скромную дату — девять лет со дня основания.

9 лет

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

Как вы помните, в конце прошлого года вышла версия WordPress 5.0 с новым блочным редактором Gutenberg. Я всегда с радостью устанавливал любые обновления практически сразу после релиза, но тогда этого не произошло и мне понадобился не один месяц на подготовку.

Проблемы, с которыми мне пришлось столкнуться при переходе на новую версию WordPress, требовали незамедлительного решения.

Я морально не был готов продолжать писать новые статьи в новом редакторе из-за отсутствия необходимых мне инструментов, а возвращение классического редактора не рассматривал в качестве решения проблемы, ведь рано или поздно популярность плагина Classic Editor сойдёт на нет, его поддержка прекратится, а о развитии и речи даже не идёт.

Список задач при переходе с классического редактора на Gutenberg

Естественно, что это частный случай и вероятность совпадения с проблемами, которыми вы могли столкнутся при переходе с классического редактора на основе TinyMCE на блочный редактор Gutenberg, крайне мала.

Редактор Gutenberg

Мой список задач выглядел таким образом:

  1. Создать свои блоки для оформления заметок и цитат. На тот момент в сети было недостаточно мануалов по созданию блоков для редактора и пришлось потратить много часов на изучение документации. В конце концов у меня получилось и поэтому решил добавить плагин Simple Note в официальный каталог — это результат моих трудов, пользуйтесь!
  2. Ещё одна задача — создать блоки для вставки в контент различных ссылок, оформленных в виде кнопки: ссылки на демо и загрузку архивов, переход на внешние сайты. Точно также создал новый плагин и назвал его Webliberty Blocks, он выполняет узкий спектр задач и для массового применения не пригоден, поэтому его нет в открытом доступе.
  3. И последняя задача — найти достойную замену плагину WP-Syntax. В большинстве статей я привожу примеры кода и подсветка синтаксиса крайне необходима. Автор плагина в репозитории на GitHub ясно дал понять, что дальнейшее развитие и использование WP-Syntax не имеет смысла, т.к. в планах разработчиков WordPress реализовать подсветку синтаксиса в блоке Код нового редактора.

Третья задача оказалась самой сложной, поэтому было принято решение обновляться до 5 версии WordPress после выполнения первых двух задач из списка.

WordPress 5

После обновления, установки и активации плагинов Simple Note и Webliberty Blocks сложилась такая ситуация: параллельно существовали кнопки, заметки и цитаты старого образца, для которых были назначены стили в style.css, а также новые, созданные с помощью плагинов. Написал SQL-запросы для замены в базе данных старой HTML-разметки используемых элементов на новую разметку в виде блоков, а устаревшие стили удалил.

Альтернатива плагину WP-Syntax для подсветки кода

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

CodeMirror

Причина проблем доступности кроется в текущей ветке CodeMirror, которая не лишена недостатков. Вся надежда на возвращение этой функции возложена на CodeMirror 6-й версии, которая в настоящее время находится в разработке.

Компания Automattic (её основатель — Мэтт Мюлленвег, владелец WordPress) на ряду с другими крупными компаниями является спонсором разработки новой версии CodeMirror.

Сами понимаете, разработка и последующее внедрение в ядро WordPress возможности подсветки кода может затянутся на годы… Так чем же заменить WP-Syntax? При поиске альтернатив я рассматривал несколько плагинов:

  • SyntaxHighlighter Evolved
  • Code Syntax Block
  • Syntax-highlighting Code Block

Все, даже широко известный и популярный SyntaxHighlighter Evolved (более 40000 установок), мне не подходили из-за избыточного или наоборот ограниченного набора функций. WP-Syntax долгие годы являлся золотой серединой. Хочешь сделать лучше — сделай сам. И тогда я решил создать свой плагин на основе Highlight.js или Prism, который будет отвечать моим требованиям. Попытка оказалась неудачной, вернее результат не оправдал ожидания.

И тогда мне в голову пришла идея использовать решение для подсветки кода на стороне сервера без плагина, с помощью библиотеки highlight.php, доступной на GitHub. Скажу прямо: мне удалось реализовать идею и результатом я очень доволен! В ближайшее время займусь подготовкой статьи на данную тему.

Подсветка кода

Таким образом, завершить все задачи из списка мне удалось всего месяц назад, в сентябре 2019 года. Сейчас поставил себе задачу во всех опубликованных записях классические блоки преобразовать в новые Gutenberg-блоки. На этом заканчиваю свой отчёт за прошедший год. А какие изменения произошли у вас за последнее время?

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(3 голоса, в среднем: 5 из 5)
  1. Daria

    Денис!
    Поздравляю с праздником — днем рождения блога! Ваш блог- так замечательно оформлен и для меня лично он оказывался много раз очень полезным. Успехов вам!

    Ответить

  2. Webliberty

    Daria, спасибо! 🙂

    Ответить

  3. Татьяна

    Денис, поздравляю!!! Я Вас очень понимаю, коллега. Моему сайту пока шестой год пошел!
    Хочу отметить Вашу выдержку и терпение. Многие заводят блоги, но больше года не выдерживают.Вы — молодец! Желаю интересного контента, больше постоянных читателей и радости в работе! 🙂

    Ответить

:) ;) :D :( :cry: :| :o :P 8-) :oops: :roll: :idea:

Отправляя комментарий, Вы соглашаетесь с Политикой конфиденциальности.