2016-07-15 9 views
2

두 번째 지킬 사이트를 만들고 있는데, 변수를 기반으로 다른 페이지 레이아웃을 끌어들이려고합니다. 예를 들어 Dynamic은 지킬에 액체가 포함되어 있습니다.

, download.md에서 :이

layout: page 
form: "free" 
sidebar: "terms" 

, 사이트는 더 이상 컴파일되지 않습니다. 그것은 말합니다

액체 오류 (17 줄) : 틀린 인자의 수 (3을위한 4).

줄 17은 아래 예제에서 첫 번째 if 문입니다.

어떻게 설정해야합니까?

<article class="s-article t-twocol__article"> 
    <header class="s-article__header"> 
    <h1 class="s-article__title">{{ page.title }}</h1> 
    <h4 class="s-article__lede">{{ page.lede }}</h4> 
    </header> 
    <div class="s-article__content"> 
    {% if {{page.form}} == "full" %} 
     {% include c-form--full.html %} 
    {% endif %} 
    {% if {{page.form}} == "free" %} 
     {% include c-form--free.html %} 
    {% endif %} 
    {{ content }} 
    </div> 
</article> 

답변

2

당신은 바로 이곳에서 찾고 아닙니다. "Line 17"은 액체 분석의 일부이며 코드 줄 번호와는 관련이 없습니다.

실제 문제는 유효하지 않은 where 필터에서 limit: n을 사용하려고하는 것입니다. limit: n (및 offset: n)은 루프 for in에서만 사용할 수 있습니다.

_layout/page.html - 라인 47

{% assign cards = site.posts | where:"type","premium" limit:1 %} 
    {% for card in cards %} 
    .. 

로 변경해야합니다

{% assign cards = site.posts | where:"type","premium" %} 
    {% for card in cards limit:1 %} 
    .. 

그리고 당신은, 라인 21에서 25 index.html을 세 이상의 발생이 및 43, limit: nwhere 필터에서 for 루프로 이동할 수 있습니다.

+0

고쳐졌습니다! 고맙습니다! – Erica

0

변경 :

{% if {{page.form}} == "free" %} 
{% if {{page.form}} == "full" %} 

사람 :

{% if page.form == "free" %} 
{% if page.form == "full" %} 
+0

나에게도 같은 오류가 발생합니다. – Erica

+0

코드를 볼 수 있습니까? 그것은 github에 있습니까? 누락 된 부분을 제외하고 성공적인 빌드를 얻습니다. 당신의 지킬 서비스/터미널은 뭐래? – JoostS

+0

https://github.com/energy7/datastore/ -하지만 GH-pages 브랜치는 푸시 된 이후로 밀어 넣지 않았습니다. – Erica