在Jekylls Front Matter中使用变量

时间:2016-05-29 17:09:36

标签: jekyll

我创建了一个带有图像的数据文件,我通常会将这些图像用于帖子。

ImageKey:
  - url: "/assets/logos/Image.png"
    title: "Image Title"

现在我想在帖子标题中使用此图片路径。

---
layout: page
image:
 - site.data.images.ImageKey
---

我的HTML看起来像

{% for image in page.images %}
            <div>
                <div class="img-thumbnail">
                    <img class="img-responsive" src="{{site.baseurl}}{{image.url}}" alt="{{image.title}}">
                </div>
            </div>
{% endfor %}

但这里有什么不对。不会渲染图片。

如果我直接在前端物质中使用值,它就有效。

---
layout: page
image:
 - url: "..."
   title: "..."
---

1 个答案:

答案 0 :(得分:5)

我解决了问题/请求。

我的_data\images.yml看起来像

Image_Key_Name
  url: /assets/file.png
  alt: ....
  title: ....
  copyright: ....

我的_posts\postXYZ.md

---
layout: post
author: Ben

titleImages:
  - Image_Key_ Name
  - Another_Image_Key_Name

abc...
---

我的_layouts\post.html

现在遍历键并将它们用作数组索引。

<div class="title-images">
  {% for titleImageKey in page.titleImages %}
  {% assign titleImage = site.data.images[titleImageKey] %}
  <img src="{{site.baseurl}}{{titleImage.url}}" alt="{{titleImage.title}}" />
  {% endfor %}

就是这样!