require 'rake/clean' CLEAN.include '*.htm' def upload(file, to) sh %{scp -rq #{file} macournoyer@macournoyer.com:#{to}} end def upload_images(to) only_files = (ENV['IMAGES'] || '').split(',') Dir['images/*'].each do |file| upload file, to if only_files.include?(file) || only_files.empty? end end task :test do upload_images '~/code.macournoyer.com/images' end namespace :dump do desc 'Dump the home website to HTML files' task :home => :clean do ruby 'home.rb', '--dump' end desc 'Dump the code website to HTML files' task :code => :clean do ruby 'code.rb', '--dump' end end namespace :upload do desc 'Upload the home website' task :home => 'dump:home' do upload_images '~/macournoyer.com/images' upload 'index.htm', '~/macournoyer.com/' end desc 'Upload the code website' task :code => 'dump:code' do upload_images '~/code.macournoyer.com/images' upload 'index.htm', '~/code.macournoyer.com/' end end