Masteries

技術的なことや仕事に関することを書いていきます.

chrome-GitHub-Issue-BadgesにPull Request送った話

chrome-GitHub-Issue-Badgesという最高のChrome拡張があります.

github.com

これはとにかく最高のChrome拡張で, GitHubに#1のようにイシューやPull Requestの番号を書いたり, 或いはhttps://github.com/motemen/chrome-GitHub-Issue-Badges/pull/9のようにIssueやPull RequestのURLを書くと, こういう感じで展開してくれてめちゃくちゃ便利, というやつです.

f:id:papix:20170518111839p:plain

最近幾つかPull Requestを送ったので, そのへんの紹介をします.

エスケープする

github.com

そのまんまで, IssueやPull RequestのタイトルにHTMLが含まれていたらそのまま表示される, ということでなんとかしてみた.

function escapeHTML(str: string) {
    return str.replace(/&/g, '&')
              .replace(/</g, '&lt;')
              .replace(/>/g, '&gt;')
              .replace(/"/g, '&quot;')
              .replace(/'/g, '&#039;');
}

素朴にこういうの実装してやっつけたのだけれど, もっと良い方法あったりするのだろうか…

Assignees全員のアイコンを出す

github.com

最近GitHubが複数人をアサインできるようになったけれど, それに対応していなかった(アサインされた人のGitHub IDを辞書順にしたときに, 先頭になる人が表示されていたっぽい. …多分)ので, 「できないかなー?」と試行錯誤していたら, なんかいい感じに出来たのでPull Requestを送ってみました.

無事マージされて(途中でPull Request出した事忘れてレビューコメントを放置してた… 本当にすいませんでした…), 多分使えるようになっているはずです. 個人的にはめっちゃ便利! と思っているので, 是非体験してみてください.

まとめ

とにかく言いたいのは, chrome-GitHub-Issue-Badges, めっちゃ便利なので皆さん是非使ってみて下さい…

このエクステンションはTypeScriptで作られているので, 「オオッTypeScript… なんか難しそう…」と最初は感じてしまうかもしれませんが(自分も最初そう思っていた), 「俺はJavaScriptを雰囲気でやっている」という感じの自分でも, 試行錯誤しながらやっていたらPull Request送れる程度には素朴だし, 規模も大きくないので, 「こういうのあったら便利では?」というアイデアがあれば, 是非実装してPull Requestを送ってみると良いと思います!!!