简体   繁体   中英

Limit jekyll post list to certain categories

I have a jekyll website and I have a category (called photo ) and I wanted to create a separate layout for a page that would list just the posts that were in the photo category. I also want to keep posts with the photo category out of the main index page.

All categories are available within the site object, access the posts of a category via site.categories.photo so your loop would look like this

{% for post in site.categories.photo %}
    # render the photo post html
{% endfor %}

I just used an {% unless %} block in the main index page to make sure the post wasn't a photo. Example:

{% unless post.category == "photo"%}
    {% comment %} List posts... {% endcomment %}
{% endunless %}

And I used the same thing for showing only photos. Just with an if instead of unless .

The category is case sensitive as well. If your category is photo then it will look like this:

{% for post in site.categories.photo %}
    # render the photo post html
{% endfor %}

If your category is Photo then it will look like this:

{% for post in site.categories.Photo %}
    # render the photo post html
{% endfor %}

Just a quick detail that I tripped up on my build so I thought I would share.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM