Warning
※この記事は生成AIを使用して作成された記事です。(create by GPT-4o)
記事内容については未検証ですので参考程度にご活用ください
2025年4月10日にリリースされた Hugo v0.146.0 の主な更新内容をまとめます。既存ユーザー向けに 新機能・主な変更点・バグ修正・非推奨事項を分類し、プロジェクトへの影響や対応方法のヒントを解説します。
新機能
テンプレートシステムの刷新
Hugo v0.146.0 では、Go テンプレートの処理方法が全面的に再実装され、layouts
フォルダの構造変更や、より強力なテンプレートルックアップシステムが導入されました。これにより、テンプレートの管理と再利用が容易になります。詳細は 新しいテンプレートシステムの概要 を参照してください。新しいテンプレート関数の追加
templates.Current
: 現在実行中のテンプレートとそのコールスタックに関する情報を提供します。デバッグ時に有用です。time.In
: 指定された IANA タイムゾーンで日付/時刻を表現します。
主な変更点
layouts
フォルダの構造変更_default
フォルダは削除され、そこにあったファイルはlayouts/
のルートに移動されました。layouts/partials
フォルダはlayouts/_partials
にリネームされました。layouts/shortcodes
フォルダはlayouts/_shortcodes
にリネームされました。layouts
内のフォルダでアンダースコアで始まらないものは、ページパスのルートを表します。これらは必要に応じて深くネストできます。また、_shortcodes
や_markup
フォルダはツリー内の任意のレベルに配置できます。
パーシャルテンプレートのルックアップキャッシュの追加
パーシャルテンプレートのルックアップにキャッシュが導入され、ビルドパフォーマンスが向上しました。テーマ作成の改善
hugo new
コマンドによるテーマ作成機能が改善され、より効率的にテーマを作成できるようになりました。
バグ修正
- Vimeo/YouTube ショートコードの全画面表示オプションの修正
Vimeo および YouTube のショートコードにおいて、allowFullScreen
オプションが正しく機能しない問題が修正されました。
非推奨事項
今回のリリースでは、非推奨(deprecation)とされた機能は特にありません。既存の機能が削除・変更される予定も発表されていないため、現状のコードをそのまま継続利用できます。
影響と対応のヒント
テンプレート構造の移行
新しいテンプレートシステムにより、layouts
フォルダの構造が変更されました。既存のプロジェクトでは、以下の対応が必要です:layouts/_default
フォルダの内容をlayouts/
のルートに移動する。layouts/partials
をlayouts/_partials
にリネームする。layouts/shortcodes
をlayouts/_shortcodes
にリネームする。 これらの変更により、テンプレートのルックアップが正しく機能するようになります。
テンプレート関数の活用
新たに追加されたtemplates.Current
関数を利用することで、テンプレートのデバッグが容易になります。また、time.In
関数を使用することで、特定のタイムゾーンでの日付/時刻の表示が可能になります。ビルドパフォーマンスの向上
パーシャルテンプレートのルックアップキャッシュの導入により、ビルド時間が短縮される可能性があります。大規模なプロジェクトでは、ビルドパフォーマンスの改善が期待できます。