当我试图解决一个图片时,我的问题就出现了,这个图片是在我的头版中定义的,并且相对于页面包定位到一个我可以通过
.Resources
.
下面是目录结构的示例…
|-- content
|
+- blog
|
+- images
| |
| +- cover-picture.jpg
|
+- my-post.md
以下是我如何申报
hero_image
在前面的事情
my-post.md
---
title: My Post Title
draft: false
hero_image: images/cover-picture.jpg
---
...
现在我试图将图像解析为一个资源,我可以用两种方式使用。第一个是在一个自定义部分中,该部分生成一个twitter卡,其中包含
英雄形象
.
文件:
/partials/twitter/card_summary.html
{{ $twitterPic := false }}
{{ with .Page.Params.hero_image }}
{{ $heroImg := $.Page.Resources.GetMatch . }}
{{ $twitterPic = $heroImg.Fit "280x150"}}
{{ end }}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="...">
<meta name="twitter:creator" content="...">
<meta name="twitter:title" content="{{ .Title }}">
<meta name="twitter:description" content="{{ .Description }}">
{{ with $twitterPic }}
<meta name="twitter:image" content="{{ $twitterPic.Permalink }}">
{{ end }}
下面是我试图使用相同资源的第二种方法,但在这种情况下,只需获取它
.Permalink
…
文件:
/layout/blog/single.html
{{ $heroImg := false }}
{{ with .Page.Params.hero_image }}
{{ $heroImg = $.Page.Resources.GetMatch . }}
{{ end }}
{{ define "twitter"}}
{{ partial "twitter/card_summary.html" . }}
{{ end }}
{{ define "main" }}
<section {{ with $heroImg }}style="background-image: url({{ .Permalink }});"{{ end }} class="hero">
<div class="container">
<h1>{{ .Title }}</h1>
</div>
</section>
<!-- Rest of templates removed for simplicity -->
{{ end }}
在这两种情况下,
$.Page.Resources.GetMatch .
正在回归
nil
. 我做错什么了?为什么找不到资源?