require('rubygems') require('json') require('yaml') desc "generate css from sass" task :css do system "sass --style=compressed _css/react.scss css/react.css" end desc "generate js from jsx" task :js do system "../bin/jsx _js js" end desc "watch css & js" task :watch do Process.spawn "sass --style=compressed --watch _css/react.scss:css/react.css" Process.spawn "../bin/jsx --watch _js js" Process.waitall end desc "update version to match ../package.json" task :update_version do react_version = JSON.parse(File.read('../package.json'))['version'] site_config = YAML.load_file('_config.yml') if site_config['react_version'] != react_version site_config['react_version'] = react_version File.open('_config.yml', 'w+') { |f| f.write(site_config.to_yaml) } end end desc "build into ../../react-gh-pages" task :release => [:update_version, :default] do system "jekyll build -d ../../react-gh-pages" end task :default => [:css, :js]