2017-02-26 1 views
0

필터를 통과 한 페이지 수를 기준으로 페이지를 구성하고 싶습니다.jekyll이 루프에서 concat을 지정 하시겠습니까?

사실적인 페이지를 컬렉션에 추가하려고 시도했지만 작동하지 않습니다.

{% assign homepage_posts = [] %} 
{% for my_page in site.pages %} 
    {% if my_page.homepage %} 
    {% assign homepage_posts = homepage_posts | concat: [my_page] %} 
    {% endif %} 
{% endfor %} 

<h1>size{{homepage_posts.size}}</h1> 
<h1>{{homepage_posts}}</h1> 

이것은 작동하지 않습니다. concat은 문자열에서만 작동합니까?

답변

0

지킬은 곧 액체 4를 사용합니다. 그러나 현재는 concat이 없습니다. []

그리고 그것의 요소를 밀어 -> 출력 {% assign homepage_posts = "" | split:"/" %}

{{ homepage_posts | inspect }}을 :

이 (대괄호 표기법 액체에서 작동하지 않습니다) 하늘의 배열을 만들기 : 당신이 할 수있는 사용자의 경우

:

{% for my_page in site.pages %} 
    {% if my_page.homepage %} 
    {% assign homepage_posts = homepage_posts | push: mypage %} 
    {% endif %} 
{% endfor %} 

{{ homepage_posts | inspect }} 
+0

액체 3. * 이미, 그것은'concat' 필터입니다했습니다

--- homepage: true --- 

그런 다음 당신이 좋아하는 homepage: true 속성 페이지를 가질 수 있습니다

앞에 문제가있는 페이지를 갖는 배열의 경우. – marcanuy

+0

https://github.com/Shopify/liquid/blob/v3.0.6/lib/liquid/standardfilters.rb에서 볼 수 없습니다. –

+0

하지만 4에서 예 : https://github.com/Shopify/liquid/blob/v4.0.0.rc1/lib/liquid/standardfilters.rb –

0

concat 필터는 배열에서만 작동하며 사용할 수 있습니다. 지킬에 액체 * 4로 업그레이드 때

CONCAT

연결 (결합) 다른 배열로 배열. 결과적으로 배열에는 원래 배열의 모든 요소가 포함됩니다. concat 도 uniq 필터를 사용하지 않는 한 연결 배열에서 중복 항목을 제거하지 않습니다.

특정 속성 (이 경우 homepage: true)이 포함 된 페이지를 필터링하려면 where 필터를 사용할 수 있습니다.

{% assign homepages = site.pages | where:"homepage","true" %} 
관련 문제