assembleでhandlebarsを使う
assembleを利用して静的サイトを構築するでhandlebarsを利用しましたが、今回はhandlebarsの基本的な文法について簡単に紹介したいと思います。
https://github.com/assemble/handlebars-helpers
変数
{{
}}
で定義した変数を囲むだけです。
HTMLエスケープされて表示されます。
{{value}}
HTMLエスケープしたくない場合は{{{
}}}
を利用します。
{{{value}}}
ハッシュのアクセさは「.」です。
{{foo.har}}
if, else, and, or, unless
{{#if a}} {{else}} {{/if}} {{#and a b}} {{/and}} {{#or a b}} {{/or}} {{#unless a}} {{/unless}}
and, or, notなどの論理演算子は利用できません。
case, switchのような構文も利用できません。
handlebars-helpersを利用すれば、いつくか条件分岐用のヘルパーがあるので、A and B, A or Bのような条件分岐をすることができます。
但し、ドキュメントが整備されていないので、各ヘルパーの利用方法及び動作についてはソースファイルを読んだ方が早いです。
独自ヘルパーも組み込みが可能なので、ある程度のことは実現可能かと思います。
each
{{this}}が現在のオフセットの変数を表しています。
{{#each a}} {{this}} {{/each}}
コメント
{{! コメント }}
include
assembleでoptions.partialsに設定したディレクトリ配下のファイルが、ファイル名をkeyとして内部的に登録されるため、ファイル名のみの指定になります。
handlebarsの仕様としては、ディレクトリパスからのファイル指定に対応しているのですが、assembleが対応できていないようです。
{{> templatename}}
とても簡単な紹介ではありますが、参考になれば幸いです。