53

Jekyll を Web サイト (ブログではなく) の静的ジェネレータとして使用しており、インデックス ページにすべてのページのリストを自動的に生成したいと考えています。具体的には、さまざまなカテゴリを持ち、各カテゴリのすべての記事を個別にリストしたいと考えています。フォローに問題がある場合は、ここに私が説明していることの例を示します。Jekyll (例: GitHub ページ) でこれを行う方法はありますか? 変数のドキュメント ページを見たことがありますが、それはブログの投稿形式に固有のようです。

4

4 に答える 4

18

液体の「含む」プロパティを使用してこれを行うよりクリーンな方法があります。

_config.yml で、カテゴリのインデックスを追加します

categories: [fruit, meat, vegetable, cheese, drink]

フロントマター内の page.md で、_config.yml で使用可能なカテゴリを 1 つ以上追加します。

---
layout: page
title: Orange juice
description: Orange juice is juice from oranges. It's made by squeezing oranges.
categories: [fruit, drink]
---

テンプレートで、フルーツ カテゴリのすべてのページを取得するには、次のようにします。

{% for page in site.pages %}
  {% if page.categories contains 'fruit' %}
    <div class="item">
      <h3>{{page.title}}</h3>
      <p>{{page.description}}</p>
    </div>
  {% endif %}
{% endfor %}
于 2014-08-01T05:28:22.843 に答える
2

ページと投稿 (記事) を区別する必要があります。カテゴリ別に並べ替えられたすべての投稿を一覧表示することはまったく問題ありません。site.categories をループできます。カテゴリ名とそのカテゴリ内のすべての投稿のリストが含まれています。

全ページ掲載も可能です。site.pages をループできます。ただし、ページは特定のカテゴリに属しません (投稿のみが属します)。

投稿された例を見ると、投稿でカテゴリを使用してから、site.categories をループする方法が適しているようです。それはまさにあなたが望む出力を得るでしょう。

于 2013-06-15T08:36:24.440 に答える