Элла Ван Дёрп (Ella van Durpe), работающая на Automattic, на днях выпустила плагин для создания заметок. Hypernotes – это простой произвольный тип данных, который позволяет пользователям делать личные заметки или вести логи.
Я уже сталкивался с подобными плагинами ранее. Я даже разрабатывал подобное решение год назад, но отказался от него в пользу простого Markdown-проекта в приватном репозитории.
Уникальность Hypernotes заключается в том, что он работает с «папками», функционирующими как рубрики. У каждой папки имеется свой собственный пункт в подменю в разделе Notes.
Этот подход аналогичен тому, который используется в приложениях для создания заметок, где пользователи могут быстро переключаться между разными папками для поиска примечаний.
Код плагина достаточно простой; идея гениальна. Это тот вид нестандартного мышления, который мне нравится видеть у разработчиков плагинов.
Плагин имеет несколько тривиальных проблем. В частности, имена папок могут не выделяться при просмотре соответствующих страниц. Однако этот баг относится скорее к самому WordPress. Также не лишним было бы добавлять тире перед каждым именем папки. Это позволило бы создать большую структурированность, которая характерна для системы папок.
В целом же плагин, если рассматривать его как приложение для заметок, работает великолепно.
В описании плагина есть следующая сноска, которая объясняет, насколько приватными будут заметки для пользователей:
«Только вы сможете видеть свои заметки в админке WordPress. Однако на данный момент заметки не шифруются, т.е. любой, у кого есть доступ к базе данных, сможет их прочитать».
Плагин Hypernotes гарантирует, что ни одна заметка не будет случайно выведена на всеобщее обозрение. Как видно из его кода, все заметки автоматически переводятся в статус «private». Тип записей плагина не может быть публично запрошен где-либо во фронтэнде.
Стоит также сказать, что плагин не создает произвольные возможности (права доступа) для своего типа записей и таксономии. Любой зарегистрированный пользователь на сайте с соответствующими правами редактирования записей может получить доступ к заметкам других пользователей в бэкэнде. Это верно, к примеру, для пользователей с ролью Editor (Редактор).
Вряд ли это ошибка, учитывая природу плагина. Я предполагаю, что основная аудитория плагина будет состоять из блогеров-одиночек, которым требуется простое решение для ведения заметок.
Я столкнулся с одной нетривиальной проблемой, когда начал тестировать Hypernotes. В какой-то момент я обнаружил, что мой сайт сломался. Обычно это происходит из-за патчей к плагину Gutenberg и его регулярных обновлений. Но в итоге Gutenberg был не виноват. Я потратил полчаса на то, чтобы понять, почему мои стили темы не отображаются в заметках. И в конце концов решение было найдено.
Hypernotes отключает все стили редактора тем. Исчезла красивая типографика моей текущей темы, которая выглядела бы привлекательно при использовании в заметках.
Эту проблему оказалось легко решить — с помощью нескольких строк кода. Если бы я хотел сохранить несколько цитат в качестве личных заметок, то делал бы это как минимум стильно:
Плагин также пытается отключить wide/full выравнивание и размеры шрифтов редактора тем. Код, который он использует, работает только для традиционных WordPress-тем, но не для блочных тем, т.к. в них используется несколько иной механизм регистрации этих опций. Это тоже усложнило поиск проблемы. Все остальное в моей теме работало, исключением стали только произвольные стили редактора.
Я понимаю, почему Элла отказалась от поддержки этих функций. Темы позволяют стилизовать фронтэнд сайта, а Hypernotes – это решение чисто для бэкэнда. Однако я все же предпочел бы вариант, когда пользователю дается контроль над тем, что именно отключается. Некоторые стили редактора тем хорошо сочетаются с плагином.
Отключение этих возможностей имеет и другие последствия. К примеру, все вариации стилей блоков в моей теме оказались зарегистрированными и доступными в редакторе. Однако все они некорректно работали, поскольку мои стили не были загружены.
Еще один разумный вариант решения проблемы – включение в плагин отдельных стилей редактора. Здесь тоже могут появиться сложности со стилевыми вариациями блоков, однако при этом мы получим привлекательное приложение для создания заметок.
Если говорить про версию 1.0, то я поклонник простоты. Более того, меня впечатлила идея с папками для заметок. Мне не терпится посмотреть, как этот плагин будет развиваться в следующих версиях. Взял его себе на карандаш.
Источник: wptavern.com