!先日Tweetbotから「後で読む」したものをKindleに送る方法を紹介しました。Paperwhiteで読む方法この方法の欠点は、Readabilityに一度登録した後、手動で一つずつKindleに送信する必要があることです。そこの自動化を考えてみました。Kindle」機能はReadabilityがAPIを公開しておらず、正式にはプログラマブルな利用ができません。Sinatraアプリreadability-kindleをgithubで発見したことを前回のエントリで紹介しました。jipumarino/readability-kindlereadability-kindleはSinatraアプリですから、WebサーバでSinatraを動かす必要があり、環境設定がちょっと面倒です。実際に動かしてみたところ、Readabilityの仕様変更で動かなくなっていました。それを直しつつ、cronで定期的に実行。Readabilityの未読項目を調べて、未読があったら自動的にKindleに送る、という動作にしたかったことから、普通のrubyスクリプトに書き換えてみました。このrubyスクリプトにはKindabilityという名前を付けてみました。大したことはやっていません。今回のエントリは、申し訳ないですが、サーバの管理がある程度できる人向けのものです。Listの項目をすべてKindleのパーソナル・ドキュメントに送り、送り終わった項目をArchiveに移動するというものです。ArchiveにあるものはKindleに送りません。これを、例えば5分に1回実行するようにすると、Readabilityに項目を送信後、最大5分後にはKindleへの送信が完了することになります。1日に288回Readabilityにアクセスすることになるので、やや迷惑かもしれませんが。Kindabilityのインストール以下からアーカイブをダウンロードし、解凍後、rubyが動くサーバにコピー。1.8でも1.9でも動きます。config.jsonを自分用に書き換えます。}}usernameReadabilityのユーザ名を指定passwordReadabilityのパスワードを指定email_addressKindleにパーソナル・ドキュメントを送るためのメールアドレスを指定config.jsonにパスワードを生で書いているので、公開ディレクトリに置かないことをおすすめします。config.jsonは、kindability.rbと同じディレクトリに置いておきます。gemコマンドでmechanizeをインストール。toolsのインストールが必要かもしれません。mechanizekindability.rbに実行権を付けておきます。kindability.rb前回のエントリでやったAmazon.co.jp側、Readability側の設定は済ませていることが前提条件です。Kindle>パーソナル・ドキュメント設定>パーソナル・ドキュメントの保存」は「有効にできません」(訳語がおかしく、本来は「無効」だと思うのだけど)にしておくことをおすすめします。Readabilityから送ったページをまとめて削除する方法が無さそうなためです。(運用自体の変更にもつながることから、だれにでも選択できることではないかもしれませんが)「有効にできません」にしておくと、パーソナル・ドキュメントの後片付けをする必要が無くなります。動作テストKindabilityが動くかどうかテストします。Listに項目を登録しておいてください。processed.こんな感じでメッセージが出ればOKです(項目が三つあった場合)。Listにあった項目がArchiveされていると思います。Archiveすることを未読フラグ代わり使っているので、使用目的に合わなかったらごめんなさい。Kindleに送信してから、パーソナル・ドキュメントに登録され、それがKindle側で同期できるようになるまでは少し時間がかかります(Amazon.co.jp側の都合)。cronへの登録Kindabilityをcronに登録し、一定の時間間隔を置いて定期的に実行されるようにします。-eviが起動するので、以下の行を追加して保存終了。/home/your_path/kindability.rb上記は実行を5分間隔として、kindability.rbとconfig.jsonは/home/your_path/に置いた場合の例です。各自の環境に合わせて変更する必要があります。高頻度なアクセスはRedabilityへの迷惑になりますので、節度を持った利用をお願いします。5分に1回もどうかっていう話がありますが。設定が済むと、以下のようなフローで利用できるようになります。3Gに元々ある制約)がありますが、手順としてはかなりシンプルになりました。ブラウザ、RSSリーダ、TwitterからReadabilityにバシバシ送信、会社から帰りぎわ、あるいは出勤前に同期、っていう使い方はどうでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。