Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

rakeで*.rdか*.mdからhtmlを作るタスクを作りたい

BlueFeatherが便利そうだ

http://ruby.morphball.net/bluefeather/

なので、RDから乗り換えようかと思っている。

そこで、RDで書いたドキュメントとMarkdownで書いたドキュメントが混在している状態で、HTMLを生成したいと考えた

しかし、「.htmlは.rdか.mdから作られる」というruleを作ることはできるのだろうか。

調べてみたらできるっぽい。Rakeすごい

普通、ruleは

rule '.html' => ['.rd'] do |t|
  #ここに生成法を書く
end

のように書く。ところが、この依存ファイルのところにprocを置くことが出来る

rule('.html' => [
  proc{|tn|
    tn2 = tn.sub(/\.[^.]+$/,"")
    FileTest.exist?(tn2 + ".rd") ? tn2 + ".rd" :
                                   tn2 + ".md"
  }]) do |t|
    #ここに生成法を書く
end

見辛いがちゃんと動く