Огромный сборник статей от WPTec для начинающих

Новости

Новый плагин для записи файлов JSON темы WordPress через YAML

У меня появился новый любимый плагин, связанный с разработкой WordPress: Theme YAML . Саша Паукнер выпустил его всего день назад, и вскоре он может найти свое место в наборах инструментов многих разработчиков тем. Это позволяет темам писать тему JSON в формате YAML .

Для использования авторам темы нужно только создать новый theme.yaml файл и начать добавлять свою пользовательскую конфигурацию в удобном для человека формате YAML. Плагин преобразует его в JSON и сохранит в theme.jsonфайл.

Как человек, у которого была своя доля головной боли при написании непосредственно в JSON, я никогда не был так счастлив, глядя на  мой редактор кода.

Это красиво.

Я просто хотел бы сначала подумать об этой идее плагина. Я обычно работаю с файлами YAML при работе с другими системами и конвертирую данные в PHP и JSON. Это просто имело смысл, как только я увидел описание плагина.

JSON — не самый простой для написания формат при работе с конфигурационными файлами, чем и является сам theme.jsonфайл. Он хорошо работает для хранения данных на разных языках, но я иногда съеживаюсь, когда открываю файл JSON для ввода, особенно если он содержит сотни или тысячи строк. Кроме того, вы не можете оставлять встроенные комментарии, чтобы напомнить себе или другим, почему было принято конкретное решение или настроен параметр.

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

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

Я залез под капот, чтобы тебе не пришлось. Плагин автоматически ищет theme.yamlфайл в корневой папке активной темы при загрузке страницы. Если он найден, он проверит время последнего изменения и сохранит значение в базе данных. Если есть новые модификации, парсит theme.yaml, конвертирует в JSON и записывает в theme.jsonфайл.

Если активная тема является дочерней, она также автоматически запустит этот процесс для своей родительской темы.

Недостатком плагина является то, что он оставляет JSON минимизированным, что затрудняет чтение. Это нормально, когда у вас есть theme.yamlфайл под рукой. Однако при отправке в каталог темы WordPress.org этот файл «сборки» обычно представляет собой то, что автор темы не упаковывает в ZIP-файл своей темы.

Я твердо верю в то, что код доставки должен быть удобочитаемым и редактируемым для всех, кто получит копию. У авторов тем есть несколько вариантов сделать это. Они могут отправить оба файла theme.jsonи theme.yamlили изменить следующий код в основном файле плагина:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES);

Нам просто нужно включить JSON_PRETTY_PRINTфлаг для  json_encode() функции :

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);

Я надеюсь, что разработчик плагина рассмотрит это изменение в будущей версии или позволит авторам тем отфильтровать его.

Есть и другие решения для авторов тем, которые избегают theme.json. Раньше я разбивал свой JSON на управляемые фрагменты по нескольким файлам. Затем я использовал плагин webpack для их слияния во время процесса просмотра/сборки.

Я рекомендую использовать JS YAML Parser или аналогичный пакет для тех, кто предпочитает YAML, но хочет интеграцию со своей системой сборки.

Рекомендуем прочитать
Новости

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

Новости

Мобильные приложения WordPress получают новый форум поддержки

Новости

Плагин Preferred Languages ​​Feature нуждается в тестировании

Новости

В ACF 6.1 добавлена ​​поддержка регистрации пользовательских типов записей и таксономий

Подпишитесь на рассылку
и будьте в курсе новостей Wordpress

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *