По мере того, как разработчики WordPress повсеместно используют Vagrant для локальной разработки, каждую неделю появляются новые конфигурации для удовлетворения потребностей различных команд и рабочих процессов. Theme Juice — это новейший проект с открытым исходным кодом, присоединившийся к постоянно растущему списку ресурсов Vagrant, связанных с WordPress .
Проект основан на VVV , одной из самых популярных и наиболее поддерживаемых конфигураций Vagrant. Его виртуальная машина построена на ответвлении Apache от VVV под названием VVV-Apache .
Theme Juice устанавливается как гем Ruby и требует наличия Vagrant и VirtualBox. Команда tj create
проведет вас через подсказки для настройки информации о проекте, местоположении, информации о базе данных, а затем создаст локальную среду разработки (если таковая еще не создана). Она автоматически синхронизирует локальное местоположение проекта с местоположением проекта в виртуальной машине, позволяя запускать его из любой точки вашей системы.
Он также поддерживает Windows с некоторыми ограничениями функций.
Если вы не используете Apache, Theme Juice можно изменить для использования с Nginx через оригинальный VVV, что так же просто, как запустить его с несколькими флагами:
tj new --vm-box git@github.com:Varying-Vagrant-Vagrants/VVV.git --nginx
Одной из уникальных особенностей Theme Juice является то, что каждый проект, созданный с помощью tj
, автоматически настраивается на поддержку xip.io , бесплатного волшебного доменного имени, которое предоставляет DNS с подстановочными знаками для любого IP-адреса. Это позволяет получить доступ к виртуальным хостам на вашем сервере разработки с других устройств в вашей локальной сети, т.е. планшеты и телефоны. Это лучше всего работает с OSX, согласно документации TJ:
Если вы используете OSX, то все должно работать из коробки. Если вы не используете OSX, вам нужно указать порт 80 на вашем хост-компьютере на 8080; Vagrant не может сделать это по умолчанию из соображений безопасности.
Когда все готово, вы можете получить доступ к проекту с другого устройства в той же сети, перейдя по адресу:
<имя-проекта>.<ip-адрес-вашего-хоста>.xip.io
например, themejuice.192.168.1.1.xip.io.
Эта функция позволяет легко тестировать проекты разработки на мобильных устройствах без дополнительной настройки.
Проект был создан Эзекиэлем Габриэлем и сотрудниками Produce Results для внутреннего использования в их агентстве. Габриэль — ведущий разработчик небольшой группы разработчиков, для которых Theme Juice теперь является незаменимым инструментом.
«Мы работаем в быстром темпе, поэтому возможность легко создавать и удалять проекты разработки, а также быстро восстанавливать/настраивать существующие проекты имеет важное значение для поддержания нашего потока, ну, в общем, потока», — сказал он. «Мы тестировали и разрабатывали эту утилиту почти 10 месяцев и рады, наконец, представить ее сообществу».
Габриэльс создал Theme Juice, чтобы упростить процесс создания новых сайтов для разработки, что, по его мнению, было несколько неудобно с VVV.
«После нескольких недель использования vanilla VVV я быстро понял, что процесс создания нового сайта очень повторяющийся, и, как любой разработчик, я стремился автоматизировать это повторение», — сказал он. (Это было задолго до того , как была выпущена Variable VVV , которая автоматизирует создание и удаление сайтов.)
«То, что начиналось как небольшая (на самом деле, довольно большая) задача Rake, включенная в стартовую тему нашей компании, быстро переросло в отдельный проект, который я извлек в драгоценный камень Ruby».
Полученный проект Theme Juice интегрируется с VVV и использует многие из его уникальных функций, но добавляет автоматическую настройку сайта и дополнительные функции для управления инструментами сборки для команды разработчиков Габриэлса.
«Достаточно сказать, что это экономит нам время, автоматизируя весь процесс создания новых проектов разработки», — сказал он. «Мы также включили своего рода грубый сценарий через файл конфигурации (называемый Juicefile), который позволяет нам легко запускать любые процессы сборки, которые нам нужны, при создании проекта».
Как только Габриэль понял, насколько полезна эта функциональность, он расширил ее и абстрагировал все инструменты сборки команды от конфигурации. Это позволило им беспрепятственно переключаться между инструментами всякий раз, когда это требовалось для проекта.
«Недавно мы перешли с Guard на Grunt, с пакетов NPM на пакеты Bower», — сказал Габриэльс. «Поскольку все эти инструменты были абстрагированы до tj
команд, нам не пришлось ничего менять в нашем рабочем процессе, наших сценариях сборки, наших развертываниях и т. д., потому что все уже использовало псевдонимы команд, предоставленные tj.
Это также позволяет нам переходить от проекта к проекту, не беспокоясь о том, как запускать инструменты сборки для этого конкретного проекта, поскольку все это абстрагировано, поэтому мы можем сосредоточиться на текущей задаче».
Theme Juice ориентирован на опытных разработчиков, которым нравится использовать современные инструменты и системы сборки для своей разработки.
«Используя нашу стартовую тему, мы используем Composer для управления плагинами PHP/WP, Bower для внешних зависимостей, Grunt для управления инструментами сборки, включая компиляцию Coffee, Haml и Sass», — сказал Габриэльс. «На первый взгляд кажется сложным управлять всем этим, но с помощью tj
, это легко».
Список всех глобальных опций и команд доступен на странице документации Theme Juice .
В будущем Габриэльс планирует расширить возможности Theme Juice для развертывания. Сейчас он склоняется к интеграции автоматизированного рабочего процесса Capistrano, но открыт для других предложений, поскольку проект стал общедоступным. Любой, кто заинтересован в участии , может узнать больше о процессе на домашней странице проекта GitHub.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…