Можно ли отключить плагин / генератор Jekyll для непроизводственной среды? - PullRequest
1 голос
/ 14 января 2020

У меня есть собственный генератор , написанный для создания архивных страниц (за год, месяц и день) для моего Jekyll блога. Но этот генератор занимает некоторое время, могу ли я отключить генератор для непроизводственной среды или, может быть, из записи плагинов в конфигурации?

ОБНОВЛЕНИЕ: Плагин просто помещен в папку _plugins, он не доставляется / не распространяется в виде пакета gem!

Я ищу своего рода черные списки генераторов (и, возможно, также фильтры или другие плагины) для среды разработки, чтобы сэкономить время сборки.

1 Ответ

0 голосов
/ 16 января 2020

Локальные плагины

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

. другое значение для поля plugins_dir в файле _config-dev.yml, которое будет перезаписывать ваше значение в _config.yml (или значение по умолчанию _plugins, если не установлено):

$ bundle exec jekyll build --config _config.yml,_config-dev.yml

Таким образом, вы можете иметь две папки с вашими плагинами разработки и производства отдельно. Это требует затрат на обслуживание, когда вы используете плагин в обеих средах.


Плагины Gemfile

Для переключения плагинов на основе Gem вы можете использовать другой Gemfile для разработки без рабочих плагинов :

BUNDLE_GEMFILE=Gemfile-dev bundle exec jekyll build

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

В качестве альтернативы, вы можете использовать дополнительный файл конфигурации для разработки. Вы должны установить другое значение для поля plugins в файле _config-dev.yml, которое перезапишет ваше значение в _config.yml. Вам нужно убедиться, что ваши плагины не установлены в группу :jekyll_plugins в вашем Gemfile, чтобы это работало (как это привело бы к настройке конфигурации):

$ bundle exec jekyll build --config _config.yml,_config-dev.yml

Общая производительность

Если на вашем сайте большое количество публикаций, вероятно, вы сэкономите больше времени, обработав их меньше во время разработки. Это можно сделать с помощью параметра командной строки limit_posts (https://jekyllrb.com/docs/configuration/options/#build -command-options ):

$ bundle exec jekyll build --limit_posts 5

Для общих улучшений во время сборки я настоятельно рекомендую профилировать сайт, чтобы найти лучшее место для оптимизации:

$ bundle exec jekyll build --profile
...