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

Nic*_*une 3 jekyll

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

Jekyll 文档指定production在构建命令中设置环境:

JEKYLL_ENV=production jekyll build
Run Code Online (Sandbox Code Playgroud)

但是在 Windows 上,这种类型的语法是不正确的。我使用了以下语法,但它看起来不起作用:

jekyll build JEKYLL_ENV=production
Run Code Online (Sandbox Code Playgroud)

我还“手动”设置了这个环境变量,但没有生效:

setx JEKYLL_ENV production & jekyll build
Run Code Online (Sandbox Code Playgroud)

set JEKYLL_ENV=production & jekyll build
Run Code Online (Sandbox Code Playgroud)

小智 10

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

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

--------

// _config_dev.yml
environment: development
Run Code Online (Sandbox Code Playgroud)

您的生产环境应该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 %}
Run Code Online (Sandbox Code Playgroud)