blogに引っ越しました。3.5の新機能これが、3.5。mikutterのお誕生日が近づいてきました。今年もmikutterの誕生日を記念してアドベントカレンダーをみんなで書いていますが、作者直々に初日に登録して頓挫させておきました。アドベントカレンダーを確認したら今日も書くことになっていたので、この記事を8日目の記事とします。3.5はおよそ7ヶ月?8ヶ月?ぶりのアップデートです。ModelプラグインがModelを追加できるようになりました。それに伴って、mikutter上で扱われるリソースがwrapされ、扱いやすくなりました。サードパーティプラグインのModel独自のModelを追加できるようになりました。Message以外をTimelineに表示できるタイムライン上に、ツイートを表わすMessage以外のModelを与えることができるようになりました。Modelが表示されます。標準プラグインによって追加されるModel以下のModelが新しく提供されます。ユーザのアイコンを表わすPhotoModelを取得できるようになりました(後述)。大きい方のアイコンを取得できます。始めとしたPhotoModelのインスタンスとして取り扱われるようになり、場所によって画像のパスを指定したり、URLを指定したりとインターフェイスがバラバラだったのを統一しました。説明を書く)Plugin::Photo::PhotoPhotoModelは、こういうコードでURLに対応するインスタンスを得ることができます。[])[1].firstもちろん、ローカルファイルシステム上のパスも取り扱えます。得ることができるようになります。DirectMessageDirectMessageに対応するModelが用意され、MiraclePainterでタイムラインを使って描画されます。mikutterコマンドツイートに対する全てのmikutterコマンドが利用でき、サードパーティプラグインによって追加されたtimelineロールのmikutterコマンドを利用できます。URL本文の中に現れるURLをクリックできるようになりました。SubpartsMiraclePainterを拡張するサードパーティプラグインがインストールされている場合、それがDirectMessageでも利用できます。IntentURLをどういったプラグインで開くかを設定できるようになりました。標準では以下のことができるようになります。Twitterのユーザページのリンクをクリック→ブラウザで開くか、mikutterでプロフィールを開くかを選択するツイートのパーマリンクをクリック→ブラウザで開くか、mikutterでツイートの詳細画面を開くかを選択するTwitter検索のページのURLをクリック→ブラウザで開くか、mikutterでそのキーワードを検索するかを選択するなどなど。この選択は記憶させることもできますし、設定画面の「関連付け」で編集することもできます。ツイートの詳細はmikutterでは開かず、必ずブラウザで開くといった設定も可能だったような気がします。開く方法はプラグインで追加できます。メールプラグインというのがあったとして、メール本文に含まれるTwitterのユーザページのURLをクリックした時に、ブラウザで開くのではなくmikutterの中でプロフィールを開くことができる、といった使い方を想定しています。抽出タブデータソースとしてDirectMessageを追加しました。複数のTwitterアカウントを登録している場合、全アカウントに関係するダイレクトメッセージの他に、各アカウントのダイレクトメッセージのみが含まれるデータソースが提供されます。設定タイムラインに表示されるModelに対して、その種類ごとに表示設定をできるようになります。抽出タブを使ってツイートとDMを同じタブに表示しているが、表示設定が違うので見分けが付く例えば、ツイートとDMにそれぞれ異なった背景色やフォントを設定できます。mikutterコマンドIntentを発行するための「開く」コマンドが追加されました。Intent機能をつかってそれを開くコマンドです。ダブルクリックに割り当てておくといい感じです。Modelが入った配列を渡すことで、そのアクティビティが選択された時に関連するModelとして表示されます。このリストに表示されているModelは、ダブルクリックするとIntentがそれを開きます。サードパーティプラグインが発生させた独自のアクティビティでも、関連するModelを開くことができるようになりました。書き忘れていること今回はボリュームが大きいのでいろいろありそうです。この記事は記録の意味もあるので、思い出したり変更があったりしたら追記していきます。ぶっちゃけると、別にバージョン番号なんていうのはメンテされているアッピルのために対外的につけているだけで、ヘビーなmikutterユーザからしたら常にHEADを使っているわけだから、この記事なんかも「そんなことができるようになったのか!」ではなく「ああ、それねーそれそれ、二年前に飽きたわー」と思って見ているわけです。古いというのは必ずしも悪いことではなく、リリースされたmikutterは、多少?バグが相対的に?少ない?かも?いや少なかったらいいなあー?あわよくば、バグが一つでも修正されているといいなーと僅かに期待できないこともない?という考え方もあるのです。これだけみんながドッグフードを食べたので、十分でしょう。今回まとめていて、ああ、これもまだだったのか、と驚きながら書いていました。細かくリリースすればよいだけの話ではあるんですが、クリスマスといわず、早く届けたいなーと思っています。今回は数年ぶりに満足にcommitできたので、何年ぶんか進んだような気がします。今回は大きな変更となるので、そのぶんバグも多いはずです。怪しい挙動を見つけた場合にはツイートするのではなく、Redmineに書くようにしてください。それでは、mikutter3.5でお会いしましょう。