August 26, 2012
僕の記事はたびたび3000文字を超える記事がありまして、WEBベースだとちょっと長いなぁとつくづく思っていたのですが、タイトル下のリンクから、記事ごとにEPUB形式でダウンロードして、電子書籍として記事を読むことができます。
モバイル端末で文章長いなーと思ったら、是非、見た目を自由に調整できるEPUBで見てみてください。
モバイル最適化の一貫で、iPhoneとiPadで動作確認しています。iBooksでの利用を想定しています。
何故こんなことをやってるかというと、このプログラムはRuby on Railsで作られていて、Railsで何かリリースしてみようというのが一番の理由で、次に、自分のブログの過去のエントリーを自分のために見直したいと思っているのですが、Webベースで見るのは面倒臭いので、EPUB出力して、ゆっくり読みたいというのが理由です。
このあとカテゴリ毎にEPUB出力して、iPadで読んでみて、できれば、時代が変わってもオススメできる記事のダイジェスト版をEPUBで配布できたらと思っています。
blogからEPUBに変換するのをやってて意外と難しいなぁと思ったのは、記事内のHTMLタグが間違っていたり、アフィリエイトタグ等でxhtml仕様に沿ってないとxmlのエラーになるので、それにあわせて、ざっくりとiframeやJavaScriptタグを消したりしているのですが、カバーしきれないところがあるかもしれません。
(自分のブログなので、「あわせ」で、imageタグを閉じる機能などをアドホックにつけていますが、もし同じ事を汎用的にやろうとするなら、一度、htmlパーサーでドキュメント構造を展開してから、xhtmlとして再構築した方が楽だと思います。)
なお以下は、開発者サイドの話ですが、Railsでの初リリースプログラムになります。rails2の頃からリリースしないものを勉強がてら、ちょこちょこ作っていたのですが、今回、エラー処理等のディテールの作りこみはざっくりですが、リリースするまで作りきったのは初めてです。
余談ですが、ruby書いてて、PHPは非オブジェクト思考言語の良さ(OOもいいとこ取り的に取り込んでる)を追求すべきだと思いましたねー。
原則として、なんでもハッシュのPHPと、OOPのRubyは違う良さがありますねー。Railsで自前データをハッシュ使って渡すのはActiveRecordがそうなってない以上、美しくないのでやらないけど、これはTPOの話とも言え、PHPが採用している「なんでもハッシュ渡し」のわかりやすさは、ある意味究極的だと思いますし、むりやりOO化してもオーバーヘッドが増えるだけだと思います。
PHPが大人になっちゃうのは反対です。PHPはVBやActionScript(2.0以下)的な良さを追求して欲しいです。通常のサイズのWebサービスだったら、アクセラレーターの併用で全く性能面は問題ないわけですし(これがものすごく大事なこと。)
また個人的にはOO言語は好きなので、Rubyは楽ちんにクラスを作って構造化していくのは、オトコノコ的に楽しいです。