Jekyll,如何按日期在文件夹中显示图像?

时间:2017-01-16 19:40:27

标签: jekyll liquid

我正在创建一个网站库。有这样一种结构:

my site
  artworks
    caty1
    caty2

必须按创建日期在给定类别(caty2caty1)的页面中显示照片。
实际上,如何实现使用Jekyll和Liqiud?
或者是否有更适合的结构?

1 个答案:

答案 0 :(得分:1)

使用液体,你可以filter/sort一个数组,但它的任何元素属性都是你想要的。

在您的情况下,您需要创建代表照片集合的datafile(在 yml csv json 中),每张照片都应该有date属性(以及名称,src,......)。

然后在生成layout页面的caty中,您会遇到以下情况:

{% assign sorted-photos = site.data.photos | sort: 'date' %}
<ul> <!-- list of sorted photos -->
{% for photo in photos %}
  <li> <img src={{photo.src}} alt={{photo.name}}></li>
{% endfor %}
</ul>

照片集将是位于photos.yml目录中的_data文件,其结构类似于:

- src = assets/img/p1.jpg
  date = 10-01-2017
  name = cute cat
  category = cats  # if you need to filter by category ?   

- src = assets/img/p2.jpg
  date = 12-01-2017
  name = grumpy cat-2
  category = cats 

- src = assets/img/p3.jpg
  date = 10-11-2016
  name = cool dog
  category = dogs