require 'rake/clean' require 'pathname' source_dir = Pathname('.').expand_path dest_dir = Pathname('../res').expand_path desc 'Build the site' task :svg do sh 'bundle', 'exec', 'jekyll', 'b', '--trace' end module_names = ['booster-stage', 'hostage', 'stage', 'swave', 'upstage'] panel_deps = [] module_names.each do |module_name| source_file = source_dir / module_name / '-panel.svg' intermediate_file = dest_dir / module_name / '-panel.svg' panel_file = dest_dir / module_name / 'panel.svg' file intermediate_file => source_file do Rake::Task[:svg].invoke end file panel_file => intermediate_file do sh '/Applications/Inkscape.app/Contents/Resources/script', '--export-text-to-path', "--export-plain-svg=#{panel_file.to_s}", intermediate_file.to_s end task panels: panel_file end task all: [:svg, :panels] task default: :all CLEAN.include 'res'