Skip to content

iview for Taberareloo について

YungSang edited this page Dec 22, 2013 · 2 revisions

まず初めに、iview というアプリから始まります。

iviewはtumblrのdashboardで写真を見たりreblogするためのiPhoneのアプリケーションです。iviewは裏であらかじめ次のページ(とその次のページとその次くらいまで)をダウンロードするので、イライラさせられることなしにNextボタンを押すだけでdashboardをno-overheadで眺めながらreblogすることができます。

reblogしたい写真にであったときにはreblogボタンを押すだけであなたのtumblrアカウントにreblogすることができます。reblogボタンを押したらあとは全部裏側でやってくれるので、そのままdashboardingし続けることができます。

また、Tumblr の Dashsboard の写真だけではなく、他のサイト上の写真を表示し、reblog と同様に即 Tumblr へ Share する機能もあります。 さらに、他のサイトから写真を抽出する定義情報をソーシャルなデータベースある wedata を使って共有し、みんなで拡張していけるところが大きな特徴の一つでしょう。

ところが最近、その wedata が「503 Service Temporarily Unavailable」になってしまい、困ったことになっているのでした。

wedata のことをいろいろググって調べていくうちに発見したのが、

iPhoneでtumblrのdashboardやいろんなサイトの写真をただただひたすら見ていくためのiviewは、中ではAutoPagerizeみたいにXPathで定義されたサイトの構造に従って写真を取り出して表示しています。

次のバージョン(0.0.8)で、iview用に書かれたsiteinfoみたいなのを外から読み込んで写真を表示できるようにしようとwedataItem – データベース: iview – wedataに20くらいsiteinfoを書きました。

このsiteinfoを使ってiviewのFirefox+Tomblooバージョンを作りました。tumblrだけでなくwedataに書かれたいろんなサイトでLDRize+reblogCommandと同じようにj/kで移動してtでtumblrにpostすることができます。

皆さんご存知の Tombloo の拡張(パッチ)スクリプトとして、 iview を Firefox で使用できるようにしたものです。

そこで、Tombloo のパッチならば、Taberareloo のパッチでも出来ないか?と作成したのが、

iview for Tombloo と同様に、右クリックのメニューから「iview」を選択して起動させ、wedata 方式で追加された対応サイトを選択し、J (Next)/K (Previous) で写真をブラウズ、T (Share)で Taberareloo のアクティブなデフォルト投稿先に即(ポップアップ画面無しで)投稿出来るようになっています。

※)上記のキーアサインと拡張機能の「Keyconfig」のキーが被っている場合は、Keyconfig の方が優先されてしまうので、これを使う時だけ一時的に Keyconfig を limited mode にして下さい。

iview for Tombloo と大きく違うのは以下の3つ。

  1. iview for Tombloo の場合はスクリプト内部の「data:text/html」でエンベッドされたページ上で動作するようになっていますが、iview for Taberareloo は、パッチの機構上、どこかのサイト上にないとならないので、http://yungsang.github.io/iview-for-taberareloo/ というページで動作するようになっています。
    ですので、右クリックからだけでなく、直接上記 URL を開くだけでパッチを起動させることも出来ますし、ブックマークしとくことも出来ます。
  2. 死んでいる wedata に変わって SITEINFOs の取得先は、現在、wedata@GitHub/iview を暫定的に作成し使用しています。GitHub のレポジトリになっていますので、追加プルリクエストは大歓迎です!
  3. SITEINFOs のデータフォーマットに options.needReferer を追加しました。これを設定すると、pixiv のように外部サイトからの直リンクを制限している画像に対し、強制的に Referer ヘッダを設定すると共に、Share する場合は自動的に「Photo - Upload from Cache」を使用して投稿します。
    さらに、options.refererUrl を設定すると Referer に使う URL を url の変わりに使用します。(v1.9.0)
    また、options.NSFW を設定すると、画像ソース一覧で[NSFW] がタイトルの前に付きます。

また、いくつか小さな拡張も行っていて、O (Open)で現在表示中の写真のオリジナルページを開いたり、B (Back)でサイト一覧に戻ることが出来るようになっています。

さらに、対応サイトを追加するためのテストを容易にするために、デバッグ用のオプションも用意しました。
上記 URL に Query String として追加することによって機能します。

例) http://yungsang.github.io/iview-for-taberareloo/?debug=1&siteinfo=http://wedata.net/databases/iview/items.json

  • debug=1 : SITEINFO デバッグ用のログをブラウザの JavaScript コンソールに出力します。
  • refresh=1 : 現在参照中のリモートの SITEINFOs の内容でローカルキャッシュを強制的に更新します。 (通常は、If-Modified-Since ヘッダにより、リモートが更新された場合のみ取得し、キャッシュが更新されます。)
  • siteinfo=<URL> : 独自の SITEINFOs JSON の URL を指定します。

なお、SITEINFO のデータ仕様については、 Wedataのiview用データベースSITEINFO仕様 « ku を参照して下さい。上記の options.* 以外は同じです。

最後に、Chrome アプリ ランチャーが Mac でも使えるようになったことを記念して、

Taberareloo を利用する都合上、独立したデスクトップアプリとしてではありませんが、Chrome アプリ ランチャーからも起動できるようにしてみました。
ただし、Chrome Web Store じゃなくて GitHub に置いてあるので、インストールするには一度ローカルにダウンロードする必要があります。

インストールの方法は2つあって、

  1. 上記ページの「launcher.crx」をダウンロードして、Chrome の「拡張機能」ページにドラッグ・アンド・ドロップする。(※この方法は来年から Windows では利用不可の模様。”今回の変更はChrome Appsには影響しない。”ってあるけどどうなんだろう。。。)
  2. 上記ページの「Source code」をダウンロードして解凍し、Chrome の「拡張機能」ページで「デベロッパーモード」を有効にして、「パッケージ化されてない拡張機能を読み込む」で先程解凍した中の launcher ディレクトリを選択する。(※ただし、この方法では自動的にはアップデートされません。まあ、このランチャー単体のアップデートはほぼ無いと思いますが。)