如何使用Windows命令行构建Jekyll项目产品

时间:2019-01-02 16:28:16

标签: jekyll

我尝试使用JEKYLL_ENV变量在生产模式下构建jekyll项目,但是它不起作用。

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

3 个答案:

答案 0 :(得分:2)

我在Windows / Jekyll设置中也遇到了这个问题。我的解决方法是拥有生产和开发配置文件,并在每个文件中设置environment变量。

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

--------

// _config_dev.yml
environment: development

您的产品环境应运行jekyll build,该环境会自动使用_config.yml。您的开发环境应运行jekyll <command> --config _config.yml,_config_dev.yml。在Jekyll config docs中,“以后[config]文件中的设置将覆盖以前文件中的设置。”因此,您可以在prod和dev配置文件中设置变量,并使用--config _config.yml,_config_dev.yml在dev中设置变量。

要在Jekyll中进行处理,请使用Liquid语句检查环境变量。 Config files set 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 %}

答案 1 :(得分:0)

这对我有用:

set JEKYLL_ENV=production | jekyll build

像Thxopen建议的那样分别运行两个命令是可行的。然后,我尝试使用here中提到的分隔符在一行上运行两个命令,效果很好。

答案 2 :(得分:-1)

在Windows上,您应该运行两个命令:

第一个将环境设置为生产的命令

set JEKYLL_ENV=production

第二条命令运行jekyll buildjekyll server

jekyll build

在使用开发evn时,再次运行以下命令:

 set JEKYLL_ENV=development