使い方は至ってシンプルで、以下のようにするだけです。
{{ partial "header.html" . }} # before
# after1 ... サイト全体で内容が統一な時
{{ partialCached "header.html" . }}
# after2 ... セクション内で内容が同一な時
{{ partialCached "header.html" . .Section }}
というのがマニュアルに書かれている事なのですが、実際にはマニュアルだけでは動作がよくわからなかったので色々確認してみました。 その結果、hugo/layouts/_default/single.htmlなどのデフォルト設定が優先されるようです。 ここでのグローバル宣言は他セクションを上書きします。
バグの混入が怖い方は、まず全ページで共通のpartialコンテンツだけキャッシュすると良いと思います。 ここで留めればまずバグは入らないでしょう。 さらに高速化したい人は微妙に表示が異なるようなpartialコンテンツをセクションごとに.Section付きで編集していけば、 バグの混入確率は低く抑えられそうな気がします。
何はともあれ1万ページくらいあるサイトに早速適用してみました。何度も計測している訳ではないのでざっくり計算です。 直前のキャッシュの効き方にも影響されますし、ページ構成にもよるでしょうが、結構高速化している事は確かのようです。
total in 59349 ms # before
total in 25563 ms # after
Hugoは元々高速なのにさらに早くなりました。素晴らしい。
0 件のコメント:
コメントを投稿