Middleman v4 がリリースされました

先日不意にリリースされた v4 ですが, ドキュメント日本語版の更新が完了しドキュメントページに反映されています。個人的に重要だと思う点をまとめてみます。

https://middlemanapp.com/jp/

手をつける前に読むべきもの

Middleman ガイドのドキュメントに V4 アップグレードのドキュメントと, Middleman の開発リポジトリに CHANGELOG (英語) があります。

プレビューサーバ (middleman server) で SSL が使えるようになったりしているんですが記述がないことに気づきました。いくつかオプションがあるんですが簡単に使うには次のコマンドで動きます。

$ middleman server --https

細かいところではテンプレートや config.rb で使用していた page (カレントページを表す) は削除され current_resource を使うことようになりました。

v4-beta から使っていたのであまり何が変わったのか他には思い出せないので何か見つけた人はまとめてくれると助かります。

オリジナルテンプレート

2 月に Qiita に書いていたことですが Middleman v4 からの新しいテンプレートシステム に関するドキュメントが用意されました。

Middleman: カスタムテンプレート

github にリポジトリを作ってそのままファイルを詰めればオリジナルのテンプレートとして使用することができるようになりました。middleman-slim はすでに Thor テンプレートの形式で対応しているので次のコマンドで初期化できるようになっています。

middleman init -T yterajima/middleman-slim MY_PROJECT

外部パイプライン

v4 の目玉機能として 外部パイプライン (External Pipeline) があります。

Grunt や Gulp の機能を $ middleman server$ middleman build と同時に使用できるようになります。なぜこういった機能が追加されたのかがドキュメントの該当ページに書かれているので興味のある方は読んでみてください。

sprockets のこと

Middleman にアセットパイプライン機能を提供していた (CSS や JS の管理機能) sprockets を統合する middleman-sprockets が v4 のコア機能から削除されました。現在はまだ動作するかもしれない(未確認)ですが sprockets ではなく外部パイプラインを使って webpack 等のツールで対応する必要があります。

このままだと middleman-sprockets 自体のメンテナンスもされない方針なので将来的には完全に使えなくなります。もし sprockets を使用したい人がいてメンテナに興味がある人がいれば連絡ください、とのこと。

Rails のアセットパイプライン機能は Middleman v4 のコアから削除されました。
この機能の将来は未定です。あなたがこの機能に強く依存しているのであれば,
私たちは v4 での動作を確保するコミュニティメンテナを探しています。連絡してください。

https://middlemanapp.com/jp/advanced/asset_pipeline/

アセット類の処理は Node 寄りに寄せていくのが現状では正解な気がするので方針としてはいいのかな, と思いつつアップデートするほど手間を掛けたくないサイトがあったりもするので悩ましいところです。

最後に

Middleman v4, いろいろあったけどリリースされてよかったです。

うちの サイト も Middleman で作られているので年末年始で v4 対応する予定。