【问题标题】:Jekyll, how to display images in a folder by date?Jekyll,如何按日期显示文件夹中的图像?
【发布时间】:2017-01-16 19:40:27
【问题描述】:

我正在创建一个网站画廊。有这样的结构:

my site
  artworks
    caty1
    caty2

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

【问题讨论】:

标签: jekyll liquid


【解决方案1】:

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

在您的情况下,您需要创建代表照片集合的 datafile(在 ymlcsvjson 中),并且每个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 创建照片集?
  • 如果您熟悉 json,则可以将每个元素(以重要的 - 开头)视为对象,将整个文件视为文档。每个对象都有键/值对等体。
  • 谢谢!这是一个解决方案......但是我不能只有一个带有图片的文件夹并在一个简单的周期中按日期显示吗?看来,我必须在photos.yml中设置每张图片为参数,不是太舒服了?
  • 你可以,但你需要访问文件的date 属性,并且能够使用它来过滤照片,我想你想拥有更多地控制在哪个类别中显示的照片,因此附加属性。
  • 另一种解决方案要求您创建一个ruby plugin,以直接从文件夹中过滤照片并以您想要的方式将它们包含在模板中..
猜你喜欢
  • 2013-02-05
  • 2013-11-18
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多