Middleman v4 からの新しいテンプレートシステム
Middleman はプロジェクトの初期化の際にテンプレートを指定することができます。
$ middleman init PROJECT -T slim
v3系では, 初期化時に指定できるテンプレートは次のものでした。
-
~/.middleman
ディレクトリの中に保存してあるもの - gem で提供されインストールされているもの (ex. middleman-slim)
新しいテンプレートシステム
- git リポジトリを参照する
- 初期化時の処理コードを用意しなくても動作する
呼び出し例
具体的な呼び出し例を列挙してみます。
1. テンプレートを指定しない場合
$ middleman init PROJECT
この場合, Middlemanは github 上にあるデフォルトテンプレートを clone し PROJECT
ディレクトリの中にファイルを展開します。
2. Middleman Directory のテンプレートを指定する場合
Middleman Directory に登録してあるテンプレートの場合, 短い名前で呼び出すことができます。例として "Amicus" を指定します。
$ middleman init PROJECT -T amicus
この場合 Middleman は次の手順でテンプレートを取得します。
- Middleman Directory の API にアクセス => Amicus の場合はココ
- API から github のリポジトリを取得
- clone し
PROJECT
ディレクトリに展開
3. github にあるテンプレートを指定する場合
github のテンプレートを指定したい場合, そのリポジトリの ユーザ名/リポジトリ名
で指定できます。例えば middleman-slim であれば次のようになります。
$ middleman init PROJECT -T yterajima/middleman-slim
ユーザ名/リポジトリ名
形式が指定された場合, github の clone 用 URL を作って PROJECT
ディレクトリ以下に展開します。
4. git リポジトリのテンプレートを指定する場合
github 以外の git リポジトリで管理されているテンプレートを利用することもできます。その場合, 単純にパスで指定します。git@
から始まるもの, または ://
が含まれる場合に有効です。
$ middleman init PROJECT -T [email protected]:yterajima/middleman-slim.git
または
$ middleman init PROJECT -T https://github.com/yterajima/middleman-slim.git
Middleman は clone を行い PROJECT
ディレクトリにファイルを展開します。
ブランチを指定したい場合
1-4 の方法でテンプレートを指定できますが, リポジトリのブランチを指定したい場合はあるかもしれません。その場合, 1-4 それぞれの指定方法の末尾に #ブランチ名
で指定できます。
$ middleman init PROJECT -T yterajima/middleman-slim#v4
v4からのテンプレートの作り方
1. そのままごっそり管理する場合
次の構造のテンプレートを git(github) で管理したいとします。
Directory
- Gemfile
- config.rb
- source
- index.html.erb
- layouts/layout.erb
Directory
以下をそのままリポジトリに push してください。後は先述のいずれかの方法でテンプレートとして利用できます。コードを書く必要はありません。デザイナーさんでも git さえ使えればコードが書けなくてもオリジナルテンプレートが利用できます。
ただし, .gitignore
がリポジトリに含まれていたとしても init
した場合, そのディレクトリの中に展開されないので注意してください。
2. 対話的にプロジェクトの初期化を行いたい場合
Thorfile
をリポジトリ直下に置いておくと対話的にオプションを指定しつつ初期化することができます。詳細は middleman/middleman-template-default の Thorfile
を参照してください。
その他参考情報
- middleman-cli/lib/middleman-cli/init.rb に処理があります。コード読める人は読んだほうが早いですね。
- テンプレートのテストを書きたい人は cli_init.feature を参照すると書けると思います。
- Middleman の新しいステッカーが DevSwag で買えるようになりました。
Author And Source
この問題について(Middleman v4 からの新しいテンプレートシステム), 我々は、より多くの情報をここで見つけました https://qiita.com/yterajima/items/df28766096f4d9ac254c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .