man/Rakefile
require 'ronn'
task default: 'man:gen'
task clean: 'man:clean'
namespace :man do
directory "build"
Dir["src/*.ronn"].each do |ronn|
basename = File.basename(ronn, ".ronn")
roff = "build/#{basename}"
file roff => ["build", ronn] do
sh "#{Gem.ruby} -S ronn --roff --pipe #{ronn} > #{roff}"
end
file "#{roff}.txt" => roff do
sh "groff -Wall -mtty-char -mandoc -Tascii #{roff} | col -b > #{roff}.txt"
end
task :build_all_pages => "#{roff}.txt"
end
desc "Build the man pages"
task :gen => "man:build_all_pages"
desc "Clean up from the built man pages"
task :clean do
rm_rf "build"
end
end