[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]