2017-03-16 110 views
3

我有一个markdown文件的文件夹,每个文件夹都有一些键/值。我需要使用密钥faq_category过滤_faq文件夹中的所有降价文件。在Jekyll中按类别过滤帖子

我曾尝试:

{% assign post = site.faqs | where: "faq_category", name-of-category %} 
    <ul> 
    <li>{{ post.title }}</li> 
    </ul> 

然而,这是深藏不露到底。

它应通过循环的文件夹结构是:

jekyll 
| 
--faqs 
    | 
    --name-of-faq 
    --name-of-faq-2 

样品降价文件:

title: name of faq 
faq_id: 2567 
slug: title-of-faq 
created: Mar 6, 2017 
modified: Mar 6, 2017 
faq_category: how to fly 
+0

'faq'或'faqs'是集合?这些键/值对是什么样的?该文件的一个例子将有助于它的完整路径。 – marcanuy

+0

'faqs'是文件夹名称。我用一个常见问题降价文件样本更新了这个问题。 – Matt

+0

网站结构设置为所有常见问题都在常见问题文件夹下。我可以在for循环中用'site.faqs'访问它们,所以这应该可以工作。 – Matt

回答

3

代替site.faqs使用site.posts得到桩的阵列。

然后将减价文件放在文件夹中:/faqs/_posts/例如:/faqs/_posts/faq1.md

之后,你应该能够浏览他们喜欢的:

{% for post in site.posts %} 
{{post.title}} 
{% endfor %} 

要过滤特定类别的使用:site.categories.CATEGORY或过滤,如:(例如类别“mycategory”)

<ul> 
{% for post in site.faqs %} 
{% if post.categories contains "mycategory" %} 
<li>{{ post.title }}</li> 
{% endif %} 
{% endfor %} 

+0

I {在site.categories.name-的品类%%,持续发布}

  • {{post.title}}
{%ENDFOR%}''试过但这不是正确的建设。我有一个'_faqs'文件夹,里面有很多'.md'文件。每个文件都包含一个'faq_category'键和我试图显示常见问题的值。我相信这应该使用where子句,但不能让它起作用。 – Matt

+0

为什么使用'_faqs'而不是'faqs'? – marcanuy

+0

该项目设置了jekyll文件夹下有“_”前缀的所有文件夹。这应该不重要。 – Matt