require 'launchy' # --- Develop and public documentation --- desc "Invoke sphinx 'make build' to generate docs." task :builddocs, [:type, :quiet] do |t, args| args.with_defaults(:quiet => "quiet") if args.type == 'dev' path = "docs/developer" elsif args.type == 'author' path = "docs/course_authors" elsif args.type == 'data' path = "docs/data" else path = "docs" end Dir.chdir(path) do if args.quiet == 'verbose' sh('make html quiet=false') else sh('make html quiet=true') end end end desc "Show docs in browser (mac and ubuntu)." task :showdocs, [:options] do |t, args| if args.options == 'dev' path = "docs/developer" elsif args.options == 'author' path = "docs/course_authors" elsif args.options == 'data' path = "docs/data" else path = "docs" end Launchy.open("#{path}/build/html/index.html") end desc "Build docs and show them in browser" task :doc, [:type, :quiet] => :builddocs do |t, args| Rake::Task["showdocs"].invoke(args.type, args.quiet) end # --- Develop and public documentation ---