技術ブログ

middleman-gemoji v0.1.0 をリリースしました

author: yterajimadate: 2016-02-24tags: middleman, middleman-gemoji
Middleman gemoji

Middleman で emoji を表示できる middleman-gemoji の v0.1.0 をリリースしました。

Middleman v4 になってから一部拡張の書き方が変更されていたり, 途中のバージョンで hook が壊れていたりといった問題に悩まされ “とりあえずまともに使える” v0.1.0 のリリースがここまで遅くなってしまいました。変更された機能とリリースまでの間に何があったのかまとめてみます。

なお, 拡張機能の使用方法については Middleman で絵文字を使うために middleman-gemoji を作った に書かれている内容から変更はありません。

v0.1.0(& v0.0.8) とそれ以前の違い

昨夜のうちに一旦 v0.0.8 をリリースしていましたが, ついでの勢いで v0.1.0 をリリースしました。

  • img タグの変換処理に converter クラスを導入
  • converter クラスのテストに minitest を採用
  • 通常のページであれば <title>~</title> の間に書かれた emoji は変換しない
    • title や meta タグに emoji が含まれる場合は今のところ何もしない
    • 正確にはページデータ中に <body> タグが存在する場合に, その中身のみ変換するように変更
    • この辺りはもう少し変更していく可能性有り
  • cucumber のテストを新しい処理に対応

Middleman v4 までにひっそりと起こっていたこと

壊れた Hook

実は Middleman v3 系の最終バージョン付近から hook まわりの処理が壊れてしまい動作しない状況が起こりました。リリースされた gem 自体は壊れているけれど開発ブランチの HEAD は問題ない, という状況が一時期ありました。これは Middleman v3 系の安定版リリースと v4 の開発を同時に進行していたための事故のようなもので仕方ないことでした。

この辺りの問題が解消され, 新しくリリースされた Middleman v4 の修正が v4.1 で落ち着いたようなので滞っていた update を行いました。

変更されたコマンド系拡張の実装方法

middleman-gemoji には emoji 用の画像ファイルを gemoji からインストールする処理があります。これを実行するには次のコマンドを叩きます。

$ bundle exec middleman gemoji

この gemoji コマンドの実装方法に変更があったので修正しています。サラッと変更されていたので変更内容に気づくまで時間がかかりました。

Middleman v4 系の拡張機能開発について

基本は Middleman v3 系と大差はありません。Hook が追加されたり上記のコマンド実装が変更になった程度です。ただし, v4 リリースまでの間に細かいトラブルが続いていたので少し人が離れていっているような気がしています。

3 年以上使ってますが他のツールに移行した人もいるので開発が止まっている拡張機能があります。もし使いたい拡張機能があって更新が滞っている場合は自分で fork して修正, または pull-req を送る必要がありそうです。

拡張機能の開発に興味がある方は書捨てのような状態なのですが, ざっくりまとめてあるので参考にしてみてください。

Middleman カスタム拡張チュートリアル - Qiita

どうしても使いたい拡張が動作しない場合

お仕事のご依頼お待ちしております-> info@e2esound.com