2017-10-09 5 views
0

Hugoで可変スコープはどのように異なるページで動作しますか?Hugoで可変スコープはどのように異なるページで動作しますか?

私はthemes\[theme name]/layouts/_default/list.htmlにこのコードを追加することによって、自分のホームページ上の記事のタイトルのリストを作ることができます。

<ul> 
{{ range .Data.Pages.ByPublishDate }} 
     <li> 
      {{ .Title }} 
     </li> 
    {{ end }} 
</ul> 

スタンドアロンページcontent/archive.mdで同じコードが何も生成しませんが。スタンドアロンのページで/postフォルダのエントリを一覧表示するにはどうすればよいですか?

答えて

2

.Dataオブジェクトは、それが呼び出されるコンテンツタイプにスコープされます。さまざまな種類のコンテンツにアクセスするには、オブジェクトにアクセスできる.Siteオブジェクトを使用します。そのオブジェクトには、すべてのコンテンツタイプのすべてのページが含まれます。 where関数(where .Site.Pages "Type" "post")を使用して、必要なコンテンツタイプをフィルタリングするだけです。

だからあなたのコードは次のようになります。

<ul> {{ range (where .Site.Pages.ByPublishDate "Type" "post") }} <li> {{ .Title }} </li> {{ end }} </ul>

関連する問題