2014-09-18 4 views
0

나는 지킬 수있는 사이트가있어서 특정 페이지에 갤러리가 있어야합니다.jekyll에 간단한 포함을 추상화하는 방법은 무엇입니까?

각 페이지마다 이미지 경로 목록이 포함 된 _data 폴더에 해당 파일이 있습니다. 다음 코드로 각 페이지에 Galklery를 빌드합니다.

{% for x in site.data.one %} 
<img src="{{ x.img }}"> 
{% endfor %} 

"one"이라는 페이지에만 해당됩니다. "두"라는 페이지

, 내가 유사한 코드를해야합니다 :

{% for x in site.data.two %} 
<img src="{{ x.img }}"> 
{% endfor %} 

궁금

, 그것은이 추상에 떨어져 _includes 폴더에있는 파일로 가능하다? 그래서 그냥 전화 할 수 있습니다

{% include gallery.html %} 

어떤 페이지에서? 그런 다음 코드가 호출 된 페이지를 감지하고 위와 같이 적절하게 변경합니다.

희망 나는 분명합니다.

당신의 _data에서

답변

1

갤러리가있는 페이지에서/galleries.yml

1: 
    - thumb: thumb1-1/src.jpg 
    medium: medium1-1/src.jpg 
    - thumb: thumb1-2/src.jpg 
    medium: medium1-2/src.jpg 

2: 
    - thumb: thumb10-1/src.jpg 
    medium: medium10-1/src.jpg 
    - thumb: thumb10-2/src.jpg 
    medium: medium10-2/src.jpg 

: _includes 일/gallery.html

{% if site.data.links[page.gallery_data_id] %} << NO DATA = print nothing 
    <ul> 
    {% for img in site.data.galleries[page.gallery_data_id] %} 
     <li> 
     <!-- do what you want with your datas here --> 
     thumb = {{img['thumb']}} - img = {{img['medium']}} 
     </li> 
    {% endfor %} 
    </ul> 
{% endif %} 
+0

감사에서

--- layout: default title: Page title gallery_data_id: 1 << id of gallery datas for this page --- <h1>Article 1</h1> {% include gallery.html %} 

user973612

관련 문제