Skip to main content

サイト変数

すべてではありませんが、多くのサイト全体の変数がサイト設定で定義されます。 ただし、Hugo には、テンプレート内のグローバル値に簡単にアクセスできるように、多数の組み込み変数が用意されています。

以下はサイトレベル (別名 「グローバル」) 変数のリストです。 これらの変数の多くはサイトの 設定ファイル で定義されますが、他の変数は Hugo のコアに組み込まれており、テンプレートで便利に使用できます。

パーシャル からサイトオブジェクトを取得する

以下のすべてのメソッド、たとえば .Site.RegularPages は、グローバルな site 関数からもアクセスできます。たとえば site.RegularPages は、 Page オブジェクトを簡単に利用できないパーシャルで便利です。 .

サイト変数リスト

.Site.AllPages
翻訳に関係ない、すべてのページの配列です。
.Site.BaseURL
サイト設定で定義された、サイトのベース URL です。
.Site.BuildDrafts
サイト設定で定義された、ドラフトをビルドするかどうかを示すブール値 (デフォルトは false) です。
.Site.Copyright
サイト設定で定義された、 Web サイトの著作権を表す文字列です。
.Site.Data
カスタムデータについては、「データテンプレート」 を参照してください。
.Site.DisqusShortname
サイト設定で定義された、 Disqus ショートコードのショートネームを表す文字列です。
.Site.GoogleAnalytics
サイト設定で定義定義された、 Google アナリティクスのトラッキング コードを表す文字列です。
.Site.Home
ホームページの ページオブジェクト への参照です。
.Site.IsMultiLingual
このサイトに複数の言語があるかどうか。 詳細については、「多言語対応」 を参照してください。
.Site.IsServer
Hugo の組み込みサーバーでサイトを提供するかどうかを示すブール値です。 詳細については、hugo server を参照してください。
.Site.Language.Lang
現在のロケールの言語コード (たとえば、 en) を指定します。
.Site.Language.LanguageName
完全な言語名 (たとえば、 English) を指定します。
.Site.Language.Weight
.Site.Languages リストでの順序を定義する重みです。
.Site.Language
Web サイトのレンダリングに現在使用されている言語を示します。 このオブジェクトの属性は、サイト設定の言語定義で設定されます。
.Site.LanguageCode
サイト設定で定義された言語タグを表す文字列です。
.Site.LanguagePrefix
これは、正しい言語を指すように URL にプレフィックスを付けるために使用できます。 定義された言語が 1 つだけの場合でも機能します。 関数 absLangURL および relLangURL も参照してください。
.Site.Languages
(定義された重みで並べられた) 言語の順序付きリストです。
.Site.LastChange
サイトが最後に変更された日時を表す文字列です。 この文字列は、コンテンツページの フロントマターの date 変数 に基づいています。
.Site.Menus
サイト内のすべてのメニューです。
.Site.Pages
日付順に並べられたすべてのコンテンツの配列で、最新のものを先頭にします。 この配列には、現在の言語のページのみが含まれます。 .Site.Pages を参照してください。
.Site.RegularPages
通常 ページのコレクションへのショートカットです。 .Site.RegularPages は、 where .Site.Pages "Kind" "page" と同等です。 .Site.Pages を参照してください。
.Site.Sections
サイトのトップレベルディレクトリです。
.Site.Taxonomies
サイト全体の タクソノミー です。また、「任意のテンプレートからタクソノミーデータにアクセスする」 のセクションも参照して下さい。
.Site.Title
サイトのタイトルを表す文字列です。

.Site.Params 変数

.Site.Params は、サイト設定の params セクションからの値を保持するコンテナです。

例: .Site.Params

以下の hugo.[yaml|toml|json] は、description のサイト全体のパラメータを定義します。

パーシャル の中で .Site.Params を使用すると、デフォルトのサイトの説明文を呼び出すことができます。

layouts/partials/head.html
<meta name="description" content="{{ if .IsHome }}{{ $.Site.Params.description }}{{ else }}{{ .Description }}{{ end }}" />

.Site.Pages 変数

.Site.Pages.Pages の比較

  • 通常 ページは、「投稿」ページまたは「コンテンツ」ページです。
    • リーフバンドル は、通常ページです。
  • リスト ページは、通常 ページとその他の リスト ページをリストできます。 例としては、ホームページ、セクションページ、タクソノミー (/tags/) および 用語 (/tags/foo/) ページがあります。
    • ブランチバンドル は、リスト ページです。
.Site.Pages
サイトの すべて のページ、 通常 ページ、セクション、分類など、のコレクションで、すべてのスーパーセットです。
.Site.RegularPages
通常 ページのみのコレクションです。

上記の .Site. .. ページのコレクションには、テンプレート内の任意のスコープからアクセスできます。

以下の変数は、現在の リスト ページのスコープからのみ、ページのコレクションを返します。

.Pages
現在の リスト ページの下にある、 通常 ページと 第 1 レベルのみ のセクションページのコレクションです。
.RegularPages
現在の リスト ページの下にある 通常 ページのみのコレクションです。 これは、ネストされた セクション/リスト ページ内の通常ページを 除外します (これらは、_index.md ファイルを含むサブディレクトリです)。
.RegularPagesRecursive
リストページの下にある すべての 通常 ページのコレクションです。これは、ネストされた セクション/リスト ページ内の通常ページを 含みます
注意
通常 ページのスコープから、 .Pages.RegularPages は空のスライスを返します。