RubyでStyleStatsをつくった
StyleStats is 何?
StyleStatsの説明は下記をご覧いただくのが一番早いかと思います。
簡単に言うと@t32kさんが作ったCSSを解析するツールです。
先週のYAPC::Asia Tokyo 2015の2日目でLTをなさっていたっぽいので
知っている方もいるかと思います。
経緯
今回StyleStatsをRubyで作ることになった経緯は下記です。
gem install stylestats … (ヾノ・∀・`)ナイナイ
— Koji Ishimoto (@t32k) 2015, 8月 19
こんなことをつぶやいていたので、おっ!と思って反応してみた
— Koji Ishimoto (@t32k) 2015, 8月 19
そしたらお願いされたので30秒くらい考えて面白そうだと思ったので
頑張ってみる旨を伝えた。
8月中に公開できればいいかなという感じで考えていた。
t32kさんとは前職で一時期一緒のチームで働いていたり等の関わりがありました。
作る際に注意した点
特に注意した点は上記の2つ
gem依存問題に関して
今回実装する際の大きなポイントが
上記の2点がありそれを行うgemを使うか自前で実装するかする必要があった。
自前で実装するにしては結構な時間が必要になるなと思ったのでgemを使うことに決めた。
CSSのパースに関しては premailer/css_parser · GitHub こちらのgemくらいしか
要件を満たしてくれそうなやつがなかったので選択。
HTMLのパースに関してはNokogiriが有名ですがNokogiriはインストールする際に
libxmlのエラーが発生するというよく見かける問題があるので、
そこで諦められるのは嫌だったので他のgemを探したら YorickPeterse/oga · GitHub こちらのgemが良さそうだったので選択した。
(最初はNokogiriを使っていた)
作ってみての感想
出来たのがこちら
最初はgem名もstylestatsで作っていたが、本家とこのgemを入れた際に面倒くさいなと思って
Rubyっぽくstyle_statsにした。
optionのほとんどが未実装の状態だがt32kさんに確認してもらったら
どんどんリリースしちゃっていいよって感じだったのでリリースすることにした。
最後に
このような機会を与えて頂き有り難く思います。
実は勉強会かtwitterでStyleStatsを知った時に下記のような感想を持っていました。
なのでとても楽しく開発できたし、少しても関われることができありがたいという思いです。
俺もこういうの作りたいてきな
オンラインCSS解析 http://t.co/Bws960mRiQ http://t.co/nlcRKHsTFY
— shiro16 (@shiro166) 2014, 4月 10