パーシャルテンプレートでページ構成を分割する
サイト内で共通のヘッダー部分とフッター部分を Hugo の パーシャルテンプレートファイル として作成しておくと、全てのテンプレートから参照できるため、テンプレートの記述をシンプルにすることができます。 Hugo のテンプレート構成では、下記のような感じでテンプレート前半部分と後半部分をまるごとパーシャルファイルで構成してしまうのが一般的のようです。
上記ではリストテンプレート (list.html
) の例を示していますが、ホームページテンプレート (layouts/index.html
) や、セクションテンプレート (layouts/_default/section.html
)、シングルページテンプレート (layouts/_default/single.html
) などを記述する際も同様に構成します。
つまり、パーシャルファイルとして作成する header.html
や footer.html
は、どのテンプレートファイルからでも使用できるように、汎用的な記述をしておく必要があります。
上記のようなパーシャルテンプレートは、各レイアウト用のテンプレートから次のように使用します。
ここでは、リストテンプレート内で使用する方法を示していますが、ホームテンプレートや、シングルページテンプレートなどでも同様に使用できます。
ベーステンプレートの機能を使うのがオススメ
上記では、HTML の前半部分や後半部分をパーシャルテンプレートとして分離する方法を示しましたが、Hugo の仕組みに慣れてきたら、ベーステンプレートの機能 を使って HTML を構成する方法がお勧めです。