jekyllで環境変数を参照する

やりたかったこととしては、本番環境ではminifyしたファイルを読み込んで開発環境ではminifyする前のファイルを読み込みたいってやつ。ファイルは事前にscript.jsとscript.min.jsがあるとして

<script src="/js/script.{% if site.env == 'production' %}min.{% endif %}js"></script>

こんな感じで書いとくと

$ JEKYLL_ENV=production jekyll

とかすればminifyのファイルを読むみたいにしたかったんだけど、環境変数の渡し方がわからなかったので適当にこんな感じのプラグイン書いた

module Jekyll
  class SetEnvGenerator < Generator
    safe true
    priority :low

    def generate(site)
      site.config['env'] = ENV['JEKYLL_ENV'] || 'development'
    end
  end
end