2016/03/18

JanetterでInstagramの画像サムネイルを出す

(2019/04/24更新: なんかTwitterへシェアされるURLにユーザーIDとかパラメーターとか含まれるようになったのでそれに対応した)


予想外に簡単で拍子抜けした。

前置き

その昔、Janetterでは標準でInstagramのサムネイルが表示されていたのじゃが、いつ頃からじゃったかのう、それができなくなってしまったのは……。

で、TwitterとInstagramが尋常じゃないくらい仲がわるい話を聞いていたので ( instagram の画像を取得するリクエストの User Agent に Twitter が含まれているとヤバイ | Covelline Developer Blog )、どうせそれ関連なんでしょ、めんどくさいしええわと思っていたのだが、気分でソースコード確認したらぜんっぜん関係なかった。

InstagramのURLが
"instagram.com" から
"www.instagram.com" に変わってただけ
だった。

(もしくは "instagram.com/p/~/" から "www.instagram.com/p/~/" へのリダイレクトがなくなったとかなんとかとかもあり得るが、まぁどっちでもいい)

要するに "www." が付け足された分をさらっと書けばいいだけなんや。
マジかよ、もっと早くやればよかった。

本題

お決まり文句
  • 自己責任で
  • Janetterを終了してから作業してね
  • いじるファイルのバックアップ推奨
    1. コピーして別のフォルダに置いておく か
    2. コピーして "thumbnail.js.org" とかのテキトーな拡張子にリネームして置いておく か
    するといいんじゃないですか。元と同じフォルダに、使わない ".js" のファイルを置くのはやめたほうがいいんじゃないかな、たぶん。
  • Janetterのアップデートがあったらいじった場所が上書きされて元に戻るかもね
いじるファイル
Windows
\Program Files (x86)\Janetter2\Theme\Common\js\janet\thumbnail.js
(7, 10でここ, たぶん8とかもそうでしょ)
Mac
/Users/(ユーザー名)/Library/Containers/net.janesoft.janetter/Data/Library/Application Support/Janetter/Theme/Common/js/janet/thumbnail.js
(Yosemiteでここ, 他は知らない)

どちらも隠しフォルダ下にあるんで、各自よしなに。

で、なにすんの?

thumbnail.jsをテキストエディタで開く。
393行目あたりからInstagramコーナーがわかりやすく始まる。
変えるのはたった2行だけ。

397行目あたりにあるであろう、

var exp = /https?:\/\/(instagr\.am|instagram\.com)\/p\/([-\w]+)/g,

var exp = /https?:\/\/(?:www\.)?(?:instagr\.am|instagram\.com)(?:\/.+)?\/p\/([-\w]+)\/?/g,

に変える。

401行目あたりにあるであろう、

var no = res[2],

var no = res[1],

に変える。で、保存。

以上。簡単。

Janetterを起動して、「Instagram」で検索でもして、普段Twitter公式の画像を見るのと同じようにInstagramの画像が見られたらOK。終わり。

Instagramの気まぐれでまた "instagram.com" に戻ったりしても、こうしておけば平気なはず。たぶん。