電書ちょこっとツールズ

EPUBバリデータepubcheckをサービス化する(for OSX)

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

これを"epubcheck"などと名前をつけて保存すれば完了です。

使い方

ファインダでepubファイルを選択して、コンテキストメニューまたは[Finder]-[サービス]メニューを開きます。一番下に先ほど保存したepubcheckが出ているはずです。それを選択すれば、チェック開始です。

しばらくして、epubにエラーがあれば
[アクション“シェルスクリプトを実行”でエラーが起きました。]
というダイアログがでます。同時に、選択したepubファイル名に".log"をつけたログファイルが作られるので、これを開いてエラー内容を確認できます。

EPUBにエラーがなければ、そのまま何もでないで、サイズ0のログファイルが作られます。

より詳しいAutomatorサービスの設定方法は、EPUBファイルをパックするこちらのサービスも参考にしてください。