显示Jekyll支持的网站上目录中的所有图像

时间:2012-02-09 01:06:11

标签: ruby image web jekyll liquid

它不一定是Jekyll使用的东西。

基本上我正在创建一个将使用灯箱的图库。我想从目录(_site \ images \ gallery)加载要显示的灯箱及其缩略图(待确定和创建)的所有图像。

最好的方法是什么?我已经设置并测试了灯箱(没有缩略图)。

提前致谢。

4 个答案:

答案 0 :(得分:5)

Jekyll没有办法“列出文件夹的内容”。

你可以通过使用yaml前端做一个非常近似的事情。

在“图库页面”中,包含一个包含图像文件名的部分:

---
images:
  - a.jpg
  - b.jpg
  - c.jpg
<other properties, like title, etc>
---

然后,当您想要列出图像时,使用循环生成链接。我不熟悉lighbox的图像语法,但它可能看起来像这样:

<ul class="something">
{% for image in page.images %}
  <li class="something">
    <a rel="something" class="something" href="/path/to/images/dir/{{ image }}" />
  </li>
{% endfor %}
</ul>

(当我对某些事情不确定时,我已经在每个地方放了“东西”。你可能需要完全删除一些“事情”。你必须修改/path/to/images/dir/到哪里你的照片是)

将html更改为使用灯箱后,添加新图像的唯一方法是:a)将其放入images目录中; b)编辑图库页面,并在中引入新图像名称清单。

这不像列表“自动生成”那么方便,但它非常接近。

答案 1 :(得分:1)

在Jekyll的当前目录中列出jpg文件可以这样做:

{% for file in site.static_files %}
  {% assign pageurl = page.url | replace: 'index.html', '' %}
  {% if file.path contains pageurl %}
    {% if file.extname == '.jpg' or file.extname == '.jpeg' or file.extname == '.JPG' or file.extname == '.JPEG' %}
    <img src="{{ file.path }}" />
    {% endif %}
  {% endif %}
{% endfor %}

有关此解决方案的更多信息,请访问:http://jekyllrb.com/docs/static-files/。我为Jekyll创建了一个灯箱扩展程序,列在我的页面Jekyll without plugins上。看看吧!

答案 2 :(得分:1)

尝试https://github.com/simoarpe/azores-image-gallery

免责声明:我是作者。

我已经尝试了一些在Github上已经可用的项目,但是大多数项目都已经停产或部分工作了,最后,我决定从周围发现的一些好的方面开始自己实现一些东西。 结果为Azores Image Gallery
有关更详细的说明,请检查README file

答案 3 :(得分:0)

我喜欢Jekyll插件。

尝试其中之一:Jekyll GalleryJekyll Gallery GeneratorFolder Gallery

查看每个插件的Ruby文件,并修改生成的图像标签以包含灯箱类。这应该够了吧。不要忘记将lightbox css文件包含在默认模板页面中。