Должен ли WordPress предоставлять API для сторонних редакторов?

Опубликовано: 2020-05-23

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

Сегодня этот редактор может быть редактором блоков по умолчанию для WordPress. Некоторые могут использовать плагин Classic Editor для знакомого опыта написания. Другие будут создавать красивые макеты с помощью конструктора страниц Elementor.

На этой неделе люди чувствуют себя как дома с Iceberg, интерфейсом, созданным поверх редактора блоков для людей, которые предпочитают минималистскую среду и любят Markdown.

Некоторые блоггеры размещают сообщения по электронной почте. Другие используют приложения со своего телефона. И целый класс людей работает в сторонних автономных редакторах, таких как Microsoft Word, Atom и старый добрый Блокнот.

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

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

На протяжении большей части своей истории у WordPress был один редактор, которым пользовались его пользователи. Со временем он изменился — даже добавление TinyMCE когда-то вызывало споры. Однако редактора по умолчанию никогда не было достаточно для каждого пользователя. Лично я ненавидел классический опыт редактирования. Это побудило меня писать в различных редакторах Markdown на протяжении многих лет для повышения эффективности и полного отсутствия отвлекающих факторов. Это также привело к тому, что разработчики взяли на себя задачу создания альтернативных интерфейсов для большого количества конечных пользователей.

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

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

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

WordPress — любая издательская платформа, если уж на то пошло — хорош настолько, насколько хорош ее редактор.

Это затруднительное положение. Невозможно сделать идеальный редактор для всех людей.

Какой следующий ход?

Реестр редакторов и API

В комментариях редактора Tavern's Iceberg Фил Джонстон предложил решение для WordPress в будущем. «Учитывая все потрясающие возможности публикации, мне интересно, не пора ли WP включить концепцию «редакторов», — написал он. «Как официальный реестр установленных редакторов».

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

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

Идея не в том, чтобы отказаться от стандартного редактора WordPress. Речь идет о создании гибкой среды для разработчиков плагинов, чтобы удовлетворить потребности большего числа пользователей. Дополнительные методы редактирования контента сделают WordPress более сильной CMS, привлекая пользователей, которые в противном случае предпочли бы другой опыт, независимо от типа сайта, который они создают.

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

Джеффри Каранданг, один из создателей Iceberg, считает, что ядро ​​может открыть пространство редактирования для большего количества сторонних решений. «Создание нашего собственного режима редактора было сложным, но в целом очень захватывающим опытом», — сказал он. «Гутенберг все еще далек от расширяемости по сравнению с другими частями WordPress, но нам удалось взломать некоторые области, которые должны были работать».

Каранданг определил несколько препятствий, которые его команде пришлось преодолеть при создании редактора Iceberg:

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

В дополнение к основным проблемам его команде пришлось разрабатывать несколько версий редактора блоков, чтобы обеспечить бесперебойную работу для пользователей. Несмотря на проблемы, он все еще верит в будущее, в котором проект редактора блоков может открыть «потенциальные инновации» в космосе.


Сегодня я пишу этот пост в автономном редакторе Markdown. Я скопирую и вставлю свой второй или третий черновик в редактор блоков, который отлично справляется с преобразованием Markdown в блоки перед окончательным редактированием. В остальные дни работаю прямо в WordPress, в зависимости от настроения. Тем не менее, мой предпочтительный опыт написания настолько прост, насколько это возможно, и часто происходит в Atom. Это то, к чему я привык.

Интересно, появится ли когда-нибудь редактор, который заставит меня писать полный рабочий день из WordPress. Я с нетерпением жду разработчиков плагинов, которые сделают попытку. Я надеюсь, что WordPress культивирует эти идеи, не мешая им.