【问题标题】:Using variables in Jekylls Front Matter在 Jekylls Front Matter 中使用变量
【发布时间】:2016-05-29 17:09:36
【问题描述】:

我创建了一个数据文件,其中包含我通常用于发布帖子的图像。

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: "..."
---

【问题讨论】:

  • 你不能在前面使用液体变量。
  • 好的。我认为这是一个问题。然后我将使用 grunt 来提供。
  • @PeterLiguda - David Jacquel 100% 正确(一如既往!)。但是,如果您的问题是:有没有办法引用数据文件中的项目以在帖子或页面中使用并使用帖子或页面的前端?你可以。如果您更新您的问题,我很乐意回复说明。
  • @TBB 我想创建一个可以在多个帖子中使用的图像集合。此外,图像应该有一个标题(版权信息)。我不想通过文本替换全部更新。现在我使用 grunt 和 assemble 来使用带有 grunt automatism 的字符串替换。
  • @PeterLiguda 我已经发布了答案。如果这是正确的,您能否将您的问题编辑为更合适的内容,例如:“Jekyll > 从内容或前端内容中引用图像数据文件项”?

标签: jekyll


【解决方案1】:

我的问题/请求已解决。

我的_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 %}

就是这样!

【讨论】:

    猜你喜欢
    • 2014-04-18
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2020-02-19
    • 2014-03-14
    • 2017-12-03
    • 2011-10-26
    • 1970-01-01
    相关资源
    最近更新 更多