После того, что выглядело как шумиха для WordPress 5.9, предлагаемый API веб-шрифтов был приостановлен. Эта функция стандартизирует то, как разработчики тем и плагинов загружают шрифты, и заложит основу для будущих функций, ориентированных на пользователя.
Джоно Алдерсон открыл заявку на участие в этой функции в феврале 2019 года. В последние месяцы предложение набирало обороты. В запросе на вытягивание было более 200 сообщений в тикете, 93 фиксации и утверждение кода от двух основных коммиттеров. API казался готовым. Однако в последние несколько дней он остановился.
Эндрю Озз, ведущий разработчик WordPress, практически исключил возможность появления нового API в 5.9. Он заявил, что не думает, что предложение было готово для WordPress.
«Чисто в плане кода это выглядит хорошо», – написал он в заявке. «Это действительно хорошо задокументировано (спасибо [Тоня Марк]!). Однако я до сих пор не понимаю, как это могло бы улучшить WordPress в краткосрочной и долгосрочной перспективе. Мы болтали с [Андреем Драганеску], и он предположил, что в идеале это должен быть функциональный плагин, и я согласен. Тогда можно было бы действительно протестировать его в производственной среде, проверить (или отклонить) предположения, сделанные при его создании, и сделать из него действительно достойное дополнение к WordPress. К сожалению, для 5.9 уже слишком поздно ».
Одна из проблем с плагинами функций тестирования для API-интерфейсов заключается в том, что они не часто принимаются, как отмечали другие в заявке. В большинстве случаев разработчики не будут полагаться на них в производственной среде. И средний конечный пользователь не стал бы устанавливать что-то специально для разработчиков.
«Предложение сделать это как функциональный плагин – это элегантный способ отложить что-то на несколько лет», – сказал Ари Статопулос , один из разработчиков API. Однако он указал, что REST API является единственным исключением, которое работает достаточно хорошо, чтобы его можно было перенести в WordPress.
Основное предложение WordPress, вероятно, будет помещено в плагин Gutenberg для дальнейшего изучения. Это был бы своего рода компромисс между запуском как отдельного функционального плагина и переходом на WordPress 5.9.
API веб-шрифтов не имеет прямого отношения к блочной системе. Сегодня эту функцию могут использовать как традиционные, так и блочные темы, а также плагины. Однако несколько предложений Гутенберга полагаются на существование API, например, позволяя авторам тем определять веб-шрифты через свои theme.json файлы.
Озз перечислил несколько вопросов по предложению, и на каждый ответили несколько разработчиков. Однако его основной аргумент основывался на практичности того, почему все в API было необходимо, заявив, что предыдущие ответы были «в принципе» и, казалось, основывались на предположениях.
На самом базовом уровне API веб-шрифтов позволит разработчикам регистрировать и загружать локально размещенные шрифты или шрифты из Google Fonts. Разработчики также могут добавлять настраиваемые поставщики за пределами двух значений по умолчанию. Первая итерация предлагаемого API больше касалась создания основы для будущих выпусков WordPress.
Привлекательность этой функции не в простой загрузке шрифтов. Технически авторы тем могут сделать это с помощью одной строчки кода, если захотят. Четыре строки кода, если они хотят следовать текущим основным стандартам WordPress, по крайней мере, во внешнем интерфейсе.
Статопулос привел список улучшений, которые такой API привнесет в WordPress и его расширения.
Это была небольшая выборка аргументов в пользу включения API в ядро WordPress.
«В Gutenberg есть много улучшений, которые находятся в подвешенном состоянии в ожидании API веб-шрифтов», – написал Статополоус в заявке. «Отсутствие API веб-шрифтов на данный момент является препятствием. Это не то, что нужно иметь в нашем списке желаний, это требование, чтобы двигаться вперед ».
В настоящее время нет стандарта, специально относящегося к веб-шрифтам в WordPress. Авторы тем используют существующие функции для постановки в очередь сторонней таблицы стилей или пользовательской таблицы с @font-face правилами. Это общепринятая практика в сообществе авторов тем на протяжении многих лет.
Однако многие неохотно приняли его. Некоторые из них создали собственные сценарии, чтобы облегчить болевые точки. Многие другие просто копируют любой метод, который использует последняя тема WordPress по умолчанию.
Одна из целей – сделать так, чтобы разработчикам не приходилось беспокоиться о выполнении всей дополнительной работы, связанной с загрузкой веб-шрифтов. На самом деле не должно быть необходимости в теме для выяснения того, как загружать их как в редактор, так и в интерфейсную часть, обрабатывать предварительную загрузку или учитывать локализацию. По мере того, как темы стареют, и сторонние API, такие как Google Fonts, меняются, обновлять темы не нужно, если WordPress позаботится об этом под капотом.
Проблема того, как лучше всего загружать веб-шрифты, умножается, когда вы добавляете плагины в микс. Как правило, темы делают всю тяжелую работу, когда дело доходит до дизайна. Однако некоторые плагины прыгают в эту сторону мира WordPress, чтобы добавить дополнительные параметры стиля. Невозможно разрешить конфликты при загрузке нескольких копий одного и того же шрифта. Также нет надежных способов отключить шрифты темы и заменить их через плагин.
Один такой автор плагина прислал мне электронное письмо, чтобы сообщить уже известные мне новости. API веб-шрифтов, похоже, больше не используется в WordPress 5.9. Разработчик готовился к запуску нового веб-сайта и сервиса поверх новой функции. У них даже был талисман. На данный момент, возможно, придется просто подождать.
Крайний срок замораживания функции истек два дня назад. Поэтому маловероятно, что API веб-шрифтов будет добавлен обратно к этапу WordPress 5.9. Может быть, разработчики увидят это, когда выйдет 6.0. Возможно, добавление его в плагин Gutenberg вдохнет в него больше жизни, позволив участникам продвигаться вперед с новыми функциями, которые полагаются на него.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…