[Middleman 3] Middleman: 公式サイトで紹介されている機能を確認する
Developers.IO さんの Middleman 記事が分かりやすかったので、こちらを元によく使いそうな機能を確認してきます。
 
 [markdown]
## 主なコマンド
1. プロジェクトフォルダを作成 … `middleman init`
 2. 開発用ローカルサーバーを起動 … `middleman server`
 3. ファイルをビルド(静的ファイルの出力) … `middleman build`
> [【Middleman】静的サイトジェネレータを使用してみる。 | Developers.IO](http://dev.classmethod.jp/tool/middleman/)
その他。
“`
 % 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 によって、雛形ファイルが生成されます。
> * [Middleman: 付属するプロジェクトテンプレートと独自テンプレートの追加 | deadwood](https://www.d-wood.com/blog/2014/02/17_5481.html)
 > * [【Middleman】でモダンにHTMLファイルを出力してみる。 | Developers.IO](http://dev.classmethod.jp/tool/middleman-build-html/)
## テンプレート
ERB が標準のテンプレートエンジン。
 レイアウト機能やパーシャル機能も rails と同じように使えます。
> * [Middleman: テンプレート](http://middlemanapp.com/jp/basics/templates/)
こちらの図解が分かりやすいです。
> * [【Middleman】でモダンにHTMLファイルを出力してみる。 | Developers.IO](http://dev.classmethod.jp/tool/middleman-build-html/)
テンプレートエンジンを切り替えることができます。
 例えば Haml の場合。
> * [[ Middleman で超速プロトタイピング ] #00 Haml 再入門 | Developers.IO](http://dev.classmethod.jp/ria/html5/middleman-supersonic-00-haml-relearning/)
 > * [[ Middleman で超速プロトタイピング ] #01 Middleman の基礎を一気に学ぶ | Developers.IO](http://dev.classmethod.jp/tool/middleman-supersonic-01-try-middleman/)
Tilt が有効な gem であれば利用できると言うことのよう。
> * [rtomayko/tilt · GitHub](https://github.com/rtomayko/tilt)
 > * [Ruby for Newbies: The Tilt Gem – Tuts+ Code Tutorial](http://code.tutsplus.com/tutorials/ruby-for-newbies-the-tilt-gem–net-20027)
 > * [BestGems Pickup! 第3回 「tilt」 — ぺけみさお](http://www.xmisao.com/2013/08/15/bestgems-pickup-tilt.html)
## テンプレートヘルパ
> テンプレートヘルパはよくある HTML の作業を簡単にするため, 動的テンプレートの中で使用できるメソッドです。基本的なメソッドのほとんどは Rails のビューヘルパを利用したことのある人にはお馴染みのものです。すべてのヘルパは Padrino フレームワークによって組み込まれています。
 >
 > [Middleman: テンプレートヘルパ](http://middlemanapp.com/jp/basics/helpers/)
こちらの例が分かりやすい。
> * [[ Middleman で超速プロトタイピング ] #01 Middleman の基礎を一気に学ぶ | Developers.IO](http://dev.classmethod.jp/tool/middleman-supersonic-01-try-middleman/)
* リンクヘルパ
 * image_tag – タグヘルパ
 * Form ヘルパ
 * ダミーテキストヘルパ
 * ダミー画像ヘルパ
## Frontmatter(ページ固有変数)
> YAML または JSON フォーマットでテンプレート上部に記述することができるページ固有の変数です。
 >
 > [Middleman: Frontmatter](http://middlemanapp.com/jp/basics/frontmatter/)
利用するレイアウトファイルを指定したり、ページの head 情報を持たせたり。
> * [【Middleman】でモダンにHTMLファイルを出力してみる。 | Developers.IO](http://dev.classmethod.jp/tool/middleman-build-html/)
 > * [[ Middleman で超速プロトタイピング ] #01 Middleman の基礎を一気に学ぶ | Developers.IO](http://dev.classmethod.jp/tool/middleman-supersonic-01-try-middleman/)
## ローカルデータ
YAML または JSON フォーマットで用意した別ファイルのデータを、テンプレートから DB ライクに利用できます。
> * [Middleman: ローカルデータ](http://middlemanapp.com/jp/advanced/local-data/)
 > * [【Middleman】の便利な機能をご紹介。 | Developers.IO](http://dev.classmethod.jp/etc/middleman-useful-functions/)
## ファイルサイズ最適化
> * [Middleman: ファイルサイズ最適化](http://middlemanapp.com/jp/advanced/file-size-optimization/)
 > * [【Middleman】の便利な機能をご紹介。 | Developers.IO](http://dev.classmethod.jp/etc/middleman-useful-functions/)
* HTMLの圧縮
 * CSS・JavaScriptの圧縮
 * 画像圧縮
 * GZIPで圧縮
## LiveReload
> * [【Middleman】の便利な機能をご紹介。 | Developers.IO](http://dev.classmethod.jp/etc/middleman-useful-functions/)
 > * [[ Middleman で超速プロトタイピング ] #02 Middleman の便利機能 7 選 | Developers.IO](http://dev.classmethod.jp/tool/middleman-supersonic-02/)
## その他
その他、こちらで取りあげられていたもの。
> * [[ Middleman で超速プロトタイピング ] #02 Middleman の便利機能 7 選 | Developers.IO](http://dev.classmethod.jp/tool/middleman-supersonic-02/)
* テンプレート – レイアウトを無効にする
 * 動的ページを作る
 * サイトマップ
 * ディレクトリインデックス
 * アセットパイプライン
 [/markdown]
