gpt4 book ai didi

ruby - 添加 JEKYLL_ENV=production 到 rakefile

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:46 26 4
gpt4 key购买 nike

我有这个脚本可以构建我的 Jekyll 静态网站,准备好在 Github 页面上使用。 我需要将 JEKYLL_ENV=production 传递给构建参数 以确保我可以使用谷歌分析(有一个 {% if jekyll.environment == ' production' %} 标签在我的模板中)。

例如,如果我不使用此脚本发布,我将使用 JEKYLL_ENV=production jekyll build

构建站点

但是我对 Ruby 和 Rakefiles 不了解...

我明白它的作用,但不知道在哪里进行修改。我觉得它看起来像(错误的代码)

Jekyll::Site.new(Jekyll.configuration({
"source" => ".",
"destination" => "_site"
}).build({
"JEKYLL_ENV" => "production"
})).process

这是原稿,谢谢!

require "rubygems"
require "tmpdir"

require "bundler/setup"
require "jekyll"

GITHUB_REPONAME = "my_reponame"


desc "Generate blog files"
task :generate do
Jekyll::Site.new(Jekyll.configuration({
"source" => ".",
"destination" => "_site"
})).process
end


desc "Generate and publish blog to gh-pages"
task :publish => [:generate] do
Dir.mktmpdir do |tmp|
cp_r "_site/.", tmp

pwd = Dir.pwd
Dir.chdir tmp

system "git init"
system "git add ."
message = "Site updated at #{Time.now.utc}"
system "git commit -m #{message.inspect}"
system "git remote add origin git@github.com:#{GITHUB_REPONAME}.git"
system "git push origin master --force"

Dir.chdir pwd
end
end

最佳答案

在 Ruby 中,可以在 ENV 中访问环境变量,因此,如果由于某种原因您无法在运行脚本时在命令行上指定它,我认为只需在此处指定它就可以:

ENV["JEKYLL_ENV"] = "production"

您应该能够在任务之前将它放在 Rakefile 中的任何位置。

关于ruby - 添加 JEKYLL_ENV=production 到 rakefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41022520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com