review-init というコマンドで Rakefile を吐いてくれる模様。内容は以下。
$ cat Rakefile require ‘fileutils’
def build(mode, chapter)
sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
mode_ext = {"html" => "html", "latex" => "tex",
"idgxml" => "xml", "inao" => "inao"}
FileUtils.mv "tmp", chapter.gsub(/re\z/, mode_ext[mode])
end
def build_all(mode)
sh "review-compile --all --target=#{mode} --footnotetext --stylesheet=style.css"
end
desc "build html (Usage: rake build re=target.re)"
task :html do
if ENV['re'].nil?
puts "Usage: rake build re=target.re"
exit
end
build("html", ENV['re'])
end
desc "build all html"
task :html_all do
build_all("html")
end
$ rake -T
rake html # build html (Usage: rake build re=target.re)
rake html_all # build all html
これ、review-pdfmaker なタスクを追加すれば良いのかな。md2review なタスクも欲しいです。つうか Rakefile て依存関係をどうやって記述するんでしょ。
むむ
これ、動かんな。つうかこれ、とりあえずファイル名とか固定でいいかな。最初から抽象化のこと考えちゃ駄目だ。動くのを作らないと。
で、でっちあがったのが以下。Rakefile じゃないし。
#!/bin/bash
FILE=hoge
YAML=sample.yml
rm *~ *.html *.re
md2review $FILE.md > $FILE.re
review-compile --target=html $FILE.re > $FILE.html
review-pdfmaker $YAML
なんとなくこの程度でいいじゃん、って気しかしないのでこの件はしばらくこれで放置します。プロトタイプなソレを作って GitHub に置いとこ。