イノたまごラボ・あのぶる の「こんなの作ったよ!」

「イノたまごラボ」はひとり同人サークルのようなものです。今のところ同人誌は作っていませんが、ソフトウェアからイベントまで、心惹かれたものを細々と。

点呼鳥を作った話とesaが大好きだという話

点呼鳥を作った話

「点呼鳥(Tenko-Tori)」というChrome拡張機能を作りました。esaワークスペースの編集ページでプレビュー本文の文字数を数えるだけのシンプルな拡張機能ですが、よろしければどうぞ使ってください。
アイコンの由来は「鳥を点呼するならこれしかないでしょ」という感じです。もうちょいうまく描けたような気もしますがまぁ深夜の急ごしらえにしては及第点かしらと。なんとなくこのアイコン自体を遠目に見てると鳥の頭に見えてくるような気がしないでも。 chrome.google.com

テストは自分のワークスペースにあるドキュメントを使って、テキストエディタとちまちま突き合わせただけなのでもしかしたら特定の書式でうまく動作しないとかあるかもなので、もし何かあればGitHubの方にフィードバックを送ってやってください。 github.com

実装にあたり、処理はともかく「Chrome拡張ってどうやって作るの?」という次元だったのでesa鮮度のコードを参考にさせていただきました、この場を借りてお礼申し上げます。 fromatom.hatenablog.com

本当は文字数カウントするダイアログを出すリンクのところに文字数を出したかったのですが、なんか私がやろうとしてた方法だとセキュリティ要件的にNGらしくて*1、どうしたらいいかなと悩んだ末にメニューにダイアログ出すリンクを追加しました、という感じ。
これ実は最初にコード書いたのが去年の11月くらいで、何がどうダメだったか正直思い出せないので思い出したらまたまとめておきます。もしかしたら都度確認じゃなく自動更新にできるかもしれないし。あと選択範囲だけカウントするとかも可能ならやりたいし。

そんな亀進行でもやっぱり使いたくて作ってるので、早くリリースしたいがあまりjQuery使ってたりします。あ、jQuery自体は素晴らしいライブラリとは思うのですが、最近のモダンなJSをちゃんと理解してないのが理由でjQueryを選択したことと、この拡張でそんなにDOMを複雑にゴリゴリしたいような感じでもないので、それならってことでバニラなJSで組み直すのが直近の目標だったりします。@sanfrecce_osakaさんに教えてもらったJS本がもう届いてるので読みながら直して行こうと思っています。いま読んでるTDD本の次の課題図書の予定。

作った動機としては、私は自分のブログやはじめてのIT勉強会さんへの寄稿記事の下書きを概ねesaでやっているのですが、油断してると文章を増やしすぎたり削りすぎたりで目安にしてる文字数からどんどん遠ざかってしまうので適当なところで文字数を数えています。それを手元のテキストエディタに都度コピペしてやるのはとても面倒なので、esa上でやれたら楽だなーと思ったのがきっかけでした。
「自律的なチームのための情報共有サービス」と掲げられたesaの本来の役割を考えると、文字数カウンタを機能要望として挙げるのは微妙なところとも感じたので、それなら自分で作ってしまおうと。*2

esaが大好きだという話

Twitterで私をフォローしてくださってる方はもしかしたらご存知かもしれませんが、私はesaが大好きです。
去年の福岡でのRubyKaigiでesaのスタッフの方にお会いしたのでトリのぬいぐるみを目の前にしてテンション上げながら写真を撮っていたのですが、推しを目の前にしてテンパるオタクみたいになってしまってたなと後になって気付いて思ってかなり反省しました。その節はほんとすみませんでした……

個人で契約しているesaにはブログの下書きからテレビで観た美味しそうな料理のレシピまであらゆるメモを載せていて、Markdownで書けるのがほんと便利で気に入っています。WYSIWYGエディタになんとなくいい思い出がなくて、自分でMarkdownゴリゴリする方が性に合ってるかなーと思っています。基本一人で使ってるので共有関連は全く生かせてないんだけど、それでも便利。
ブログの下書きはトピックに対して書きたい話をポイポイと箇条書きで並べて行って、そこからちゃんと文章として起承転結なり序破急なりが成立しそうな内容を拾い上げて実際の文章を書いていく、ということをやっています*3。メモの追加もインターネットとブラウザさえあればできるのでとても助かります。ただスマホはどうしても画面が小さくなるので、長文になると大変ですけどもその辺は携帯端末の宿命な気もしています。

それからロゴのトリも可愛いくて隙あらばグッズを買いあさっています。ちょっと前にしょうもない経緯で気付いた不具合報告をしたら噂通りのやばいスピードで直していただけてありがたかったのでSUZURIでトリのノートを買いました。*4

ちなみにどれぐらい経緯がしょうもないかと言うと、チェックボックスの挙動に関する不具合だったんですがそれを見つけたのがPokemon GOポケモン収集リストを作ってたページだったあたり。挙動を説明するためにdiffのURLを出して「この差分で○○(ポケモンの名前)という項目にチェックを入れようとしたのですが〜」みたいな説明をしたのがなかなかアレな体験でした。アレだと思いつつなるべく正確な情報を出そうとしたのは技術者のサガであるとご理解いただければ幸いです。しかし最近全然外出しないからぽけごも全然ログインしてないな……
やばいスピードで直すのも普段の余裕が必要なので、きっと相当スマートなチーム運営をされているのだろうと思っています。そしてTwitterでは時事ネタなどいろいろなトリを見られるので毎度楽しんでいます(\( ⁰⊖⁰)/)

そしてSendai.rbのスタッフが議事録などを取るのに使う用のワークスペースもご支援いただいています、支援申請の承認メッセージをいただいたのが昨年10月中旬だったのでぼちぼち1年になりますね、本当にありがとうございます🙏

ということで今は個人の情報管理はスケジュールをGoogleカレンダー、日々のTODOをRemember The Milk、データ類を容量追加したGoogle Drive、それ以外のメモ類を全て個人のesaに集約する感じで概ねうまいことやってる感じです。あ、あとパブリックにしても問題ない範囲でTwitterを日記代わりにしてるのが最近便利に感じています、読んだ本の話とか料理の話は意識的に残しているので、ブログにまとめたくなった時とか後から必要に応じてツイート検索して拾い上げてesaに集約する感じ。逆に一人Slackがあんまり便利に感じていないのでそろそろ運用を見直そうかなと… *5
この辺の話も追々ブログに残せたらいいなと思っています。

*1:一歩間違えたらXSSの温床になるもんなー

*2:それとは別に、最近なんとなく文章買いててこれくらいかなって見立てた文字数が誤差100字強くらいの精度になってきたのでちょっと自分でキモいなって思い始めています

*3:そうしないと私の文章は余談だらけになる

*4:詫び課金ってこういう心理かなって思ったけどちょっと違うらしい

*5:あくまでSlackを一人で運用するのが、という話で他のワークスペースでは便利に使っています