[Middleman 3] Middleman: 公式サイトで紹介されている機能を確認する
Developers.IO さんの Middleman 記事が分かりやすかったので、こちらを元によく使いそうな機能を確認してきます。
Contents
主なコマンド
- プロジェクトフォルダを作成 …
middleman init
- 開発用ローカルサーバーを起動 …
middleman server
- ファイルをビルド(静的ファイルの出力) …
middleman build
その他。
% middleman --help
Tasks:
middleman build [options] # Builds the static site for deployment
middleman console [options] # Start an interactive console in the con...
middleman extension NAME [options] # Create Middleman extension scaffold NAME
middleman init NAME [options] # Create new project NAME
middleman server [options] # Start the preview server
middleman upgrade # Upgrade installed bundle
middleman version # Show version
ディレクトリ構造
middleman によって、雛形ファイルが生成されます。
テンプレート
ERB が標準のテンプレートエンジン。
レイアウト機能やパーシャル機能も rails と同じように使えます。
こちらの図解が分かりやすいです。
テンプレートエンジンを切り替えることができます。
例えば Haml の場合。
Tilt が有効な gem であれば利用できると言うことのよう。
テンプレートヘルパ
テンプレートヘルパはよくある HTML の作業を簡単にするため, 動的テンプレートの中で使用できるメソッドです。基本的なメソッドのほとんどは Rails のビューヘルパを利用したことのある人にはお馴染みのものです。すべてのヘルパは Padrino フレームワークによって組み込まれています。
こちらの例が分かりやすい。
- リンクヘルパ
- image_tag – タグヘルパ
- Form ヘルパ
- ダミーテキストヘルパ
- ダミー画像ヘルパ
Frontmatter(ページ固有変数)
YAML または JSON フォーマットでテンプレート上部に記述することができるページ固有の変数です。
利用するレイアウトファイルを指定したり、ページの head 情報を持たせたり。
ローカルデータ
YAML または JSON フォーマットで用意した別ファイルのデータを、テンプレートから DB ライクに利用できます。
ファイルサイズ最適化
- HTMLの圧縮
- CSS・JavaScriptの圧縮
- 画像圧縮
- GZIPで圧縮
LiveReload
その他
その他、こちらで取りあげられていたもの。
- テンプレート – レイアウトを無効にする
- 動的ページを作る
- サイトマップ
- ディレクトリインデックス
- アセットパイプライン