# # configuration # @viewer = "feh" # just comment out if you don't want the viewr task # # default task # desc "create all files" task :all task :default => :all # # tasks I need for all files # def rest_tasks(name, file, png_file, svg_file) desc "generate all files for ./#{file}" task name => png_file task name => svg_file if @viewer show_name = "view_#{name}" desc "#{@viewer} ./#{png_file}" task show_name => png_file do sh "#{@viewer} #{png_file}" end end # append tasks to default task task :all => png_file task :all => svg_file end # # tasks for blockdiag files # Dir['src/images/**/*.diag'].each do |diag_file| name = diag_file[0..-6] svg_file = "#{name}.svg" png_file = "#{name}.png" task svg_file do sh "blockdiag -Tsvg -o #{name}.svg #{diag_file}" end task png_file do sh "blockdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" end rest_tasks(name, diag_file, png_file, svg_file) end # # tasks for nwdiag files # Dir['src/images/**/*.nwdiag'].each do |diag_file| name = diag_file[0..-8] svg_file = "#{name}.svg" png_file = "#{name}.png" task svg_file do sh "nwdiag -Tsvg -o #{name}.svg #{diag_file}" end task png_file do sh "nwdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" end rest_tasks(name, diag_file, png_file, svg_file) end # # tasks for seqdiag files # Dir['src/images/**/*.seqdiag'].each do |diag_file| name = diag_file[0..-9] svg_file = "#{name}.svg" png_file = "#{name}.png" task svg_file do sh "seqdiag -Tsvg -o #{name}.svg #{diag_file}" end task png_file do sh "seqdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" end rest_tasks(name, diag_file, png_file, svg_file) end # # tasks for actdiag files # Dir['src/images/**/*.actdiag'].each do |diag_file| name = diag_file[0..-9] svg_file = "#{name}.svg" png_file = "#{name}.png" task svg_file do sh "actdiag -Tsvg -o #{name}.svg #{diag_file}" end task png_file do sh "actdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" end rest_tasks(name, diag_file, png_file, svg_file) end # # hugo server # desc "start the hugo server" task :run_server => [:build_css] do sh "hugo serve" end # # publish # desc "publish" task :publish => [:all] do sh "./publish.ion" end desc "preview" task :preview => [:all] do sh "./preview.ion" end desc "build css" task :build_css do sh "lessc src/lessc/page/main.less static/css/main.css" sh "lessc src/lessc/remark/main-light.less static/css/remark-light.css" sh "lessc src/lessc/remark/main-dark.less static/css/remark-dark.css" end task :all => :build_css