GitHubのNotificationsを取得&通知するgithub-notifierを公開しました
GitHubのNotificationsを取得して、OS Xの通知センターに通知を送るgithub-notifierを公開しました。
github-notifierは
この2つをただ繋ぐだけのソフトウェアです。GitHub for Macから通知センターのサポートが削除され1てずっと不便に思っていたので作成しました。今のところNotificationsしか取得しませんが、単純なソフトウェアなのでかなり容易に拡張できると思います。
使い方等はREADMEを参照してもらうとして、ここでは、github-notifierを作るにあたって、terminal-notifierに送ったプルリクを紹介します。
ファイルパス中に含まれるスペース/マルチバイト文字に対応
- get imageURL with fileURLWithPath if no scheme
- get imageURL with fileURLWithPath if no scheme by henry0312
fileURLWithPath
を使ってエンコードすれば、良い感じにこれらの文字に対応してくれる。
フラグメント識別子の復号
- decode fragment identifier
- avoid escaping hash symbol not in query strings
- decode fragment identifier by henry0312
stringByAddingPercentEscapesUsingEncoding
を使ってURLをエスケープするのはいいのだが、このメソッドはクエリ文字列中にないフラグメント識別子(#)もエスケープしてしまう。そのままエンコードされたURLを使うと正しくページを表示することができないため、フラグメント識別子だけエンコード後に復号しようというもの。
問題の認識はこれで間違っていないと思うのだが、解決方法が全くcoolに見えない。本当にこれmergeされて良かったのか・・・。とりあえず、Cocoaフレームワークの中にはフラグメント識別子を意識したエンコードメソッドは無さそう。もしもっと良い解決策を知ってる人が居れば、是非terminal-notifierの方にプルリクを送って欲しい(ついでに私にも教えて欲しい)。