【问题标题】:Jekyll conditional image tags are still showing up when not thereJekyll 条件图像标签在不存在时仍会显示
【发布时间】:2016-02-07 19:56:11
【问题描述】:

我正在为我的网站使用 Jekyll,并且我有以 {% if page.second-image %} 开头并以 {% endif %} 结尾的附加图片。不幸的是,即使帖子中没有第二张图片,这些图片标签仍会显示。如果没有将它们编码到当前帖子中,我如何让 Jekyll 忽略它们?谢谢!!

layout: post
title: title
date: 2015-09-02
image: /img/path.png
second-image: /img/path.png
third-image: /img/path.png
description: Landing Page/Menu Design
meta-title: meta title information

但帖子模板中的第 4、5 和第 6 张图片显示为断开的链接,即使它们不存在

【问题讨论】:

  • 能否将您的帖子 yaml front-matter 添加到您的问题中?
  • 当然。 --- 布局:帖子标题:标题日期:2015-09-02 图片:/img/path.png 第二张图片:/img/path.png 第三张图片:/img/path.png 描述:登陆页面/菜单设计元标题:元标题信息 --- 但随后第 4、第 5 和第 6 张图像显示为断开的链接,即使它们不在帖子中

标签: image conditional jekyll broken-links


【解决方案1】:

好的,试试这个:

---
title: "My title" # wrap in double quotes
image: path.png # remove source folder
second-image: path.png
description: "My description" # wrap in double quotes
meta-title: "meta title information" # wrap in double quotes
... # whatever you need
---

然后,发送至post.html(或您从中调用帖子的另一个 html 文件):

{% if page.second-image %} <img class="some_class" src="{{ site.baseurl }}/img/{{ page.second-image }}" alt="{{ page.title }}"> {% endif %} 

或:

---
extra_imgs: [path1.png, path2.png, path3.png]
---

然后

{% if page.extra_imgs %} 
{% for img in page.extra_imgs %}
<img class="some_class" src="{{ site.baseurl }}/img/{{ img }}" alt="{{ page.title }}"> 
{% endfor %}
{% endif %}

提示:避免在 yaml frontmatter 值中使用特殊字符。他们可以在他们之后破解密码!无论如何,如果using double quotes 你应该没问题。

告诉我进展如何!

希望有所帮助!

【讨论】:

  • 第二个选项效果很好!!谢谢!!!那么我在原始文件中做错了什么(仅用于学习目的)?
  • 太棒了!我不确定...可能在 yml 值中添加一个 ` / ` 会破坏您的代码的其余部分...如果可以,您会投票赞成答案和/或将其标记为正确吗?通过这样做,您将帮助我提高我的声誉! ;)
  • 也许你可以试试second_image 而不是second-image 并检查是否有效...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 2023-03-23
  • 2011-05-18
  • 1970-01-01
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多