[Middleman 3] Middleman: 公式サイトで紹介されている機能を確認する

Developers.IO さんの Middleman 記事が分かりやすかったので、こちらを元によく使いそうな機能を確認してきます。

主なコマンド

  1. プロジェクトフォルダを作成 … middleman init
  2. 開発用ローカルサーバーを起動 … middleman server
  3. ファイルをビルド(静的ファイルの出力) … middleman build
    > 【Middleman】静的サイトジェネレータを使用してみる。 | Developers.IO
    その他。
% 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 と同じように使えます。

テンプレートヘルパ

テンプレートヘルパはよくある HTML の作業を簡単にするため, 動的テンプレートの中で使用できるメソッドです。基本的なメソッドのほとんどは Rails のビューヘルパを利用したことのある人にはお馴染みのものです。すべてのヘルパは Padrino フレームワークによって組み込まれています。

Middleman: テンプレートヘルパ
こちらの例が分かりやすい。
* [ Middleman で超速プロトタイピング ] #01 Middleman の基礎を一気に学ぶ | Developers.IO
* リンクヘルパ
* image_tag – タグヘルパ
* Form ヘルパ
* ダミーテキストヘルパ
* ダミー画像ヘルパ

Frontmatter(ページ固有変数)

YAML または JSON フォーマットでテンプレート上部に記述することができるページ固有の変数です。

Middleman: Frontmatter
利用するレイアウトファイルを指定したり、ページの head 情報を持たせたり。
* 【Middleman】でモダンにHTMLファイルを出力してみる。 | Developers.IO
* [ Middleman で超速プロトタイピング ] #01 Middleman の基礎を一気に学ぶ | Developers.IO

ローカルデータ

YAML または JSON フォーマットで用意した別ファイルのデータを、テンプレートから DB ライクに利用できます。

ファイルサイズ最適化

LiveReload

その他

その他、こちらで取りあげられていたもの。