/var/log/messages

Apr 9, 2014 - 1 minute read - Comments - Ruby

review-init

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 に置いとこ。

機能追加に関する備忘 BeareMetal で遊ぶ

comments powered by Disqus