You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
require('rubygems')
|
|
require('json')
|
|
require('yaml')
|
|
|
|
desc "generate js from jsx"
|
|
task :js do
|
|
system "cp ../node_modules/babel/node_modules/babel-core/browser.min.js ./js/babel-browser.min.js"
|
|
system "../node_modules/.bin/babel _js --out-dir=js"
|
|
end
|
|
|
|
desc "watch js"
|
|
task :watch do
|
|
Process.spawn "../node_modules/.bin/babel _js --out-dir=js --watch"
|
|
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 "update acknowledgements list"
|
|
task :update_acknowledgements do
|
|
authors = File.readlines('../AUTHORS').map {|author| author.gsub(/ <.*\n/,'')}
|
|
# split into cols here because nobody knows how to use liquid
|
|
# need to to_f because ruby will keep slice_size as int and round on its own
|
|
slice_size = (authors.size / 3.to_f).ceil
|
|
cols = authors.each_slice(slice_size).to_a
|
|
File.open('_data/acknowledgements.yml', 'w+') { |f| f.write(cols.to_yaml) }
|
|
end
|
|
|
|
desc "build into ../../react-gh-pages"
|
|
task :release => [:update_version, :default] do
|
|
system "jekyll build -d ../../react-gh-pages"
|
|
end
|
|
|
|
task :default => [:js]
|
|
|