2017-03-16 2 views
3

나는 여러 개의 키/값이있는 markdown 파일 폴더가 있습니다. _faq 폴더의 모든 markdown 파일을 faq_category 키로 필터링해야합니다.지킬에서 카테고리별 필터 게시물

이 나는 ​​시도했다 :

{% 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'는 폴더 이름입니다. faq 마크 다운 파일의 샘플로 질문을 업데이트했습니다. – Matt

+0

사이트 구조는 모든 faq가 faqs 폴더 아래에 있도록 설정됩니다. for 루프에서'site.faqs'를 사용하여 그것들에 접근 할 수 있습니다. – Matt

답변

3

대신 site.faqs 사용 site.posts.

그런 다음 표시 파일을 /faqs/_posts/ 폴더에 넣습니다 (예 : /faqs/_posts/faq1.md). 그 후

당신이 좋아하는 그들을 검색 할 수 있어야한다 : site.categories.CATEGORY을하거나 좋아하는 필터링 :

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

특정 카테고리 사용을 필터링하려면 (예를 들어 카테고리 "mycategory")를

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

+0

나는

  • {{post.title}}
{%의 ENDFOR의 %}'{site.categories.name-의 범주 %에서 게시물에 대한 %를}'시도했지만이 제대로 구축되지 않습니다. 나는'.md' 파일의 긴 목록을 가진'_faqs' 폴더를 가지고 있습니다. 각 파일에는 faq 's를 표시하려고하는'faq_category' 키와 값이 들어 있습니다. 나는 이것이 where 절을 사용해야한다고 믿지만, 작동시킬 수는 없다. – Matt

+0

왜 'faqs'대신'_faqs'를 사용합니까? – marcanuy

+0

jekyll 폴더 아래에 접두사 "_"이있는 폴더가 모두있는 프로젝트가 설정되었습니다. 그건 중요하지 않아. – Matt