Как построить проект Jekyll с помощью командной строки Windows - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь построить свой проект jekyll в рабочем режиме, используя переменную JEKYLL_ENV, но он не работает.

Документация Jekyll указывает на установку среды production в команде сборки:

JEKYLL_ENV=production jekyll build

Но в Windows этот тип синтаксиса неправильный. Я использовал следующий синтаксис, но он не работает:

jekyll build JEKYLL_ENV=production

Я также установил «вручную» эту переменную среды, но она не вступила в силу:

setx JEKYLL_ENV production & jekyll build

и

set JEKYLL_ENV=production & jekyll build

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

В Windows вы должны запустить две команды:

первая команда установить env на производство

set JEKYLL_ENV=production

вторая команда запустить jekyll build или jekyll server

jekyll build

когда вы используете evn для разработки, запустите эту команду еще раз:

 set JEKYLL_ENV=development
0 голосов
/ 02 января 2019

Я столкнулся с этим и с моей установкой Windows / Jekyll.Мой обходной путь - иметь конфигурационные файлы для производства и разработки и установить переменную environment в каждом файле.

// _config.yml
environment: production
...<other config settings>...

--------

// _config_dev.yml
environment: development

В вашей среде prod должна работать jekyll build, которая автоматически использует _config.yml.Ваша среда разработки должна работать jekyll <command> --config _config.yml,_config_dev.yml.В документации Jekyll «Настройки в более поздних файлах [config] переопределяют настройки в более ранних файлах».Таким образом, вы можете установить переменную в конфигурационных файлах prod и dev и использовать --config _config.yml,_config_dev.yml, чтобы установить переменную в dev.

Чтобы сделать что-то с ней в Jekyll, используйте операторы Liquid для проверки переменной среды. Конфигурационные файлы устанавливают site переменных, поэтому проверьте site.environment

// some file that will be processed by Jekyll
{% if site.environment == "production" %}
    <do prod stuff>
{% elsif site.environment == "development" %}
    <do dev stuff>
{% endif %}
...