20

私は Jekyll を使用して簡単なブログを作成しており、この問題を解明しようと頭を悩ませています。

このサイトのインデックス ページは、最新の記事を 1 つだけ掲載することを目的としています。

{% for post in site.posts reversed limit:1 %}
    <div class="post">
        <div class="post-inner">
            <h3 class="posttitle"><a href="{{ post.url }}">{{ post.title }}</a></h3>
            <p class="postdate">{{ post.date | date: "%d %B %Y" }}</p>
            {{ post.content }}
            <a href="{{ post.url }}#disqus_thread" class="commentLink"></a>
        </div>
    </div>
{% endfor %}

上記のテンプレートは、制限が制限されていない場合 (つまり、存在しないか、配列の長さに設定されている場合) に完全に機能します。制限が実際に結果を制限している場合にのみ、ループが逆に無視するようです。

私はブラウザのキャッシュをクリアしようとしました。

ご協力ありがとうございます。これで十分でない場合は、詳細をお知らせいたします。

4

2 に答える 2

29

Jekyll は実際に何を出力していますか?

私が理解していることから、逆フィルターは最後に適用されます。8 月の最初の 15 日間を投稿したと仮定して、次のようなことをするとします。

{% for post in site.posts limit:5 %}
    {{ post.content }}
{% endfor %}

配列を投稿すると、次のパターンで順序付けられます

[8 月 15 日、8 月 14 日、8 月 13 日、8 月 12 日、8 月 11 日]

そして、それを逆にすると

{% for post in site.posts reversed limit:5 %}
    {{ post.content }}
{% endfor %}

配列を投稿すると、次のパターンで順序付けられます

[8 月 11 日、8 月 12 日、8 月 13 日、8 月 14 日、8 月 15 日]

そうは言っても、なぜあなたが使用していないのか、私は少し困惑しています

{% for post in site.posts limit:1 %}
于 2012-09-24T23:20:51.573 に答える
13

制限付きのカスタムフィールドによるカスタム逆ソートを行うためのハック:

{% assign items = site.items | sort: 'some_field' | reverse %}
{% for item in items limit:10 %}
    <li><a href="{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}

いくつかのカスタム var に割り当て、そこで並べ替え (および反転) してから、制限付きでループすることが重要です。

于 2015-04-06T11:20:46.453 に答える