【发布时间】:2017-01-16 19:40:27
【问题描述】:
我正在创建一个网站画廊。有这样的结构:
my site
artworks
caty1
caty2
必须按创建日期在给定类别(caty2 或caty1)的页面中显示照片。
实际上,如何实现使用 Jekyll 和 Liqiud?
还是有更合适的结构?
【问题讨论】:
-
你可能对这个similar question感兴趣
我正在创建一个网站画廊。有这样的结构:
my site
artworks
caty1
caty2
必须按创建日期在给定类别(caty2 或caty1)的页面中显示照片。
实际上,如何实现使用 Jekyll 和 Liqiud?
还是有更合适的结构?
【问题讨论】:
使用液体,您可以filter/sort 一个数组,但它的任何元素属性都是您想要的。
在您的情况下,您需要创建代表照片集合的 datafile(在 yml、csv 或 json 中),并且每个photo 应该有一个date 属性(连同一个名称、src、...)。
然后在生成caty 页面的layout 中,您将拥有如下内容:
{% 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>
照片集将是一个位于_data 目录中的photos.yml 文件,其结构类似于:
- 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
【讨论】:
_config.yml 中使用 Jekyll 创建照片集?
- 开头)视为对象,将整个文件视为文档。每个对象都有键/值对等体。
photos.yml中设置每张图片为参数,不是太舒服了?
date 属性,并且能够使用它来过滤照片,我想你想拥有更多地控制在哪个类别中显示的照片,因此附加属性。