首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jekyll -使用{{ site.url }将前面物质中的图像路径声明为变量

Jekyll -使用{{ site.url }将前面物质中的图像路径声明为变量
EN

Stack Overflow用户
提问于 2014-08-13 20:22:07
回答 2查看 12.6K关注 0票数 8

当我在前面的变量中使用{{ site.url }}标记作为图像路径时,它不会被转换成HTML。

以下内容非常有效:

代码语言:javascript
复制
---
layout: post
title: chickpea
img: <img class="caption__media" data-interchange="[../asset/img/chickpea-small.jpg (small)], [../asset/img/chickpea-medium.jpg, (medium)], [../asset/img/chickpea-large.jpg, (large)]">
---

这样做是行不通的:

代码语言:javascript
复制
---
layout: post
title: chickpea
img: <img class="caption__media" data-interchange="[{{site.url}}/asset/img/chickpea-small.jpg (small)], [{{site.url}}/asset/img/chickpea-medium.jpg, (medium)], [{{site.url}}/asset/img/chickpea-large.jpg, (large)]">
---

但是,当我在post中使用与{{site.url}}标记相同的图像链接而不是作为变量时,它可以工作。

对生成的站点进行分析表明,当我在前面定义的图像变量中使用{{site.url}}标记时,Jekyll并不会转换它。

因此,问题是:我如何才能让Jekyll正确地翻译YAML前端的图像路径?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-14 04:48:31

你在yaml中混合了数据和模板。您的图像标记(这是一个模板)将复制在您的所有帖子。但是这里你唯一需要的就是你的图像urls。

所以,在你的yaml前端,做:

代码语言:javascript
复制
---
layout: post
title: chickpea
img:
  small:  chickpea-small.jpg
  medium: chickpea-medium.jpg
  large:  chickpea-large.jpg
---

在您的布局/post.html中,您可以添加:

代码语言:javascript
复制
{% if page.img %}
  <img class="caption__media" data-interchange="
  {% for img in page.img %}
    [{{site.baseurl}}/asset/img/{{img[1]}} ({{img[0]}})]
    {% unless forloop.last %}, {% endunless %}
  {% endfor %}
  ">
{% endif %}

这段代码是多行演示的.你最好把一切都放在一条线上。

注意:我使用的是{{site.baseurl}}而不是{site.url},因为如果您的站点不在域的根上,则baseurl会将您从损坏的资产路径中拯救出来。

现在您已经清晰地分离了关注点、清晰的yaml前端内容和可维护的代码。很酷不是吗?

票数 23
EN

Stack Overflow用户

发布于 2014-08-13 20:58:00

我刚刚用以下技术解决了这个问题:Include jekyll / liquid template data in a YAML variable?

因此,我将post中的变量的用法更改为:

代码语言:javascript
复制
{{ post.img }}

至:

代码语言:javascript
复制
{{ post.img | replace: '..', site.url }}

我希望这能帮助有同样问题的人。:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25295418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档