在降价中调整 Hugo (v 0.32.x) 中的图像大小

Jos*_*erg 5 hugo

我正在尝试在 Hugo 中调整图像大小(不使用 HTML/CSS),这在v 0.32 update 中显然可用。在最后一句链接的“图像处理”标题下,描述了以下“调整大小”方法:

调整到给定的尺寸,{{ $logo.Resize "200x" }} 将调整到 200 像素宽并保持纵横比。使用 {{ $logo.Resize "200x100" }} 来控制高度和宽度。

我在我的 Hugo 网站上实现这个时遇到了一些麻烦。特别是,我正在使用一个.md文件,并试图添加一个存储在站点源文件中其他位置的图像。

例如,这是我在.md文件中添加(未调整大小的)图像的方法:

![pdf image](../static/_media/images/pdf.png)

如何50x50使用 v0.32 版本中的调整大小方法添加相同的文件,调整为像素大小?

Joo*_*stS 3

你不能像这样使用它(在 markdown 中)。调整大小仅适用于资源。资源是资源目录中的文件或页面束中的文件。要访问 Markdown 中的资源,您必须使用简码。

请注意,您可以将静态目录定义为资源目录。一旦你这样做了,你就可以使用静态目录并编写如下内容:

(.Site.Resources.GetMatch "_media/images/pdf.png").Resize "50x50"
Run Code Online (Sandbox Code Playgroud)

但是,您应该通过短代码访问它,就像 Talves 所做的那样。我稍微简化了他的代码以提高可读性:

{{< imgresize "_media/images/pdf.png" >}}
Run Code Online (Sandbox Code Playgroud)

调用此短代码(layouts/shortcodes/imgresize.html):

{{ $image := (.Site.Resources.GetMatch (.Get 0)).Resize "50x50" }}
<img src="{{ $image.RelPermalink }}">
Run Code Online (Sandbox Code Playgroud)