module Stastic::Generator module Jekyll extend self def desc "Jekyll Generator" end def detect FileTest.exists?('_config.yml') || (FileTest.exists?('_site') && File.directory?('_site')) end def site_root Stastic::Config.site_root || "_site" end def build verify_gem system("jekyll") end def package Stastic::Generator.package(site_root) end def preview verify_gem system("jekyll --server") end private def gem_installed? begin gem "jekyll" true rescue LoadError false end end def verify_gem if !gem_installed? puts install_instructions exit end end def install_instructions <<-EOF The Jekyll Gem can not be found on your GEM_PATH. GEM_PATH=#{ENV['GEM_PATH']} To Install Jekyll: ------------------ sudo gem install jekyll EOF end def jekyll_detection_instructions <<-EOF A Jekyll Project was not detected in #{Dir.pwd} Stastic looks of _config.yml or _site to detect Jekyll. EOF end end end