Hugo 0.83: WebP Support! | Hugo (gohugo.io)
前段时间 Hugo 支持了 Webp,他花了些时间去研究,可还是没能弄明白其中的原理。考虑到服务器只是 1M 的小水管,在不使用外部存储和 CDN 的情况下,加载图片的速度是真的吃紧,庆幸他的小博客流量小,可综合各方面因素,Webp 节省下来的空间与流量还是很有必要的,最终他选择使用谷歌的 Webp 工具。
A new image format for the Web | WebP | Google Developers
下载好系统对应的版本,解压缩,如果你同样是 Windows 系统,那么将解压后的 bin 目录设置为环境变量,就可以使用了。
cwebp [options] input_file -o output_file.webp
相关 options 可参考:cwebp | WebP | Google Developers
如果要将 Webp 格式的图片转换成其他格式,则可以使用dwebp
命令。
dwebp picture.webp -o output.png
还有一个 Photoshop 的插件,有图形 UI。但他使用起来很不习惯,总感觉缺了点啥,而且这个插件只支持打开/保存为 Webp 格式。项目地址:webmproject/WebPShop: Photoshop plug-in for opening and saving WebP images (github.com)
需要注意的是,Windows 系统下载后缀为.8bi
的文件,他直接存放在 Photoshop 安装目录的 Plug-ins 下激活不了该插件,因为对 Photoshop 一直停留在裁剪与导出这两个功能,所以真不知这个软件的插件应该如何正确安装,最后放出大招。
C:\Program Files\Common Files\Adobe\Plug-Ins\CC
C:\Program Files\Common Files\Adobe\Plug-Ins\CC\File Formats
C:\Program Files\Adobe\Adobe Photoshop 2021\Plug-ins
给这三个目录都安排上,哈哈哈。当然第三个目录要根据自己的 Photoshop 具体安装在哪个目录,比如他就是安装在D:\
上的。
layouts
└─ _default
└── _markup
└─── render-link.html
在layouts
目录里的_default
目录下新建一个_markup
目录并新建render-link.html
,内容为:
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
layouts
└─ _default
└── _markup
└─── render-image.html
同样的配方新建render-image.html
,内容为:
<p class="md__image">
<img
loading="lazy"
src="https://cdn.jsdelivr.net/gh/skybbx/iamlmphoto@master{{ .Destination | safeURL }}"
alt="{{ .Text }}"
{{
with
.Title}}
title="{{ . }}"
{{
end
}}
/>
</p>
他更新文章都是使用 Typora 这个软件,如果你和他一样喜欢将图片资源都放在本地保存的话,那么他还是很推荐用这个软件来书写 Markdown 来更新 Hugo 与 Hexo 这类静态博客的内容,他如此推荐这个软件是因为这个软件可以设置在文章插入图片时将图片复制到指定的目录,配合 Typora 的定义图片根目录功能就能完美达到他想要的效果。图片根目录功能开启如下,或移步到他以前的文章看详细说明,传送门:「Typora」是真的香 - 老麦笔记。
---
slug: '76.2021年第27周'
title: 'My First Post'
date: 2019-03-26T08:47:11+01:00
typora-root-url: ..\..\static
---
这样插入图片时 Markdown 格式就会变成![](../assets/images/postImages/laomai/2023/02/27/163fc35bb0bfd7-1.webp)
,这个/image/post-76/2021-07-04-140640.webp
对应的正好是上面新建文件render-image.html
内容里的{{ .Destination | safeURL }}
,在前面添加你 Github 仓库对应的jsdelivrCDN地址,最后将 public 里的文件git push
到服务器的同时 push 一份到 Github 仓库就能完美地薅这波羊毛。
他不直接使用 Typora+PicGo 这个方案去薅jsdelivrCDN的羊毛是因为以后jsdelivrCDN用不了时,他只需将 CDN 的地址删除或更换就行,不用每篇文章都去修改图片的 src。
记得将https://cdn.jsdelivr.net/gh/skybbx/iamlmphoto@master
改成你 Github 仓库对应的地址哦,当然其他的 CDN 服务也是可行的,稍微变通一下就好。