EPUBをチェックするバリデータである、epubcheckはjavaで書かれたコマンドラインツールなので、使うのがちょっと面倒です。 そこでAutomatorをつかってOSXのサービスとして登録しよう、というお話です。
epubcheckは こちらからダウンロードします。2012/12/25時点の最新版は、"3.0"です。
これをダウンロードしてzipを解凍したものを、フォルダごとアプリケーションフォルダにコピーします。このバージョンでは"epubcheck-3.0"という名前になっています。
Automatorを起動して、新規でサービスを選びます。[ユーティリティ]-[シェルスクリプト]を選択して、右のペインにドラッグ。受け取る選択項目は「書類」にして、シェルスクリプトの引渡し方法は「引数として」にしておきます。
次のスクリプトをコピペして設定してください。
fp=$1
dir="${fp%/*}"
cd $dir
file="${fp##*/}"
java -jar /Applications/epubcheck-3.0/epubcheck-3.0.jar $fp 2>$file.log
フォルダ名とjarファイル名は、バージョンが変わったら変更してくださいね。
こんな画面になります。
これを"epubcheck"などと名前をつけて保存すれば完了です。
ファインダでepubファイルを選択して、コンテキストメニューまたは[Finder]-[サービス]メニューを開きます。一番下に先ほど保存したepubcheckが出ているはずです。それを選択すれば、チェック開始です。
しばらくして、epubにエラーがあれば
[アクション“シェルスクリプトを実行”でエラーが起きました。]
というダイアログがでます。同時に、選択したepubファイル名に".log"をつけたログファイルが作られるので、これを開いてエラー内容を確認できます。
EPUBにエラーがなければ、そのまま何もでないで、サイズ0のログファイルが作られます。
より詳しいAutomatorサービスの設定方法は、EPUBファイルをパックするこちらのサービスも参考にしてください。