Hugo v0.32.x中Markdown内图片Resize实现咨询
在Hugo v0.32中使用Resize方法缩放Markdown中的图片
好的,我来帮你解决这个Hugo图片缩放的问题😉。要在Markdown文件里用Hugo v0.32的Resize方法将图片缩至50x50像素,你需要先理清一个核心逻辑:Resize只能作用于Hugo的「资源」(Page Resources 或 Global Resources),你之前直接引用static目录下文件的方式,没法触发Hugo的资源处理管道。下面是具体的解决步骤:
步骤1:调整图片存放位置
首先需要把图片纳入Hugo的资源管理体系,两种方案二选一即可:
方案A:页面资源(推荐,针对单篇文章)
将pdf.png移到当前文章的页面 bundle 中:比如你的文章是content/posts/my-article/index.md,就把图片放在content/posts/my-article/目录下(和index.md同级),或者子目录如content/posts/my-article/images/。方案B:全局资源(适用于全站复用的图片)
将图片放在assets/_media/images/目录下(assets是Hugo的资源目录,没有的话手动创建即可)。
步骤2:在Markdown中调用Resize并输出图片
根据你选择的资源方案,替换原来的图片引用代码:
如果用页面资源
{{ with .Page.Resources.GetMatch "pdf.png" }} {{ $resizedImg := .Resize "50x50" }}  {{ end }}
如果图片在子目录(比如images/pdf.png),把GetMatch的参数改成"images/pdf.png"就行。
如果用全局资源
{{ with resources.Get "_media/images/pdf.png" }} {{ $resizedImg := .Resize "50x50" }}  {{ end }}
关键注意点
- 为什么原来的写法不行?你之前的
是直接引用静态文件,Hugo不会对这类路径的文件进行资源处理,自然没法调用Resize方法。 "50x50"的写法会强制将图片缩放到50px宽和50px高,如果想保持宽高比只缩到50px宽,可以写成"50x",和官方文档的用法一致。
内容的提问来源于stack exchange,提问作者Joshua Rosenberg
相关产品推荐
相关产品推荐

