Hexo 博客管理图片
整理 Hexo 展示图片的各种方式,以及从长期维护,方便易用的角度介绍一下我个人总结的最佳实践。
关键知识
post_asset_folder
通过 文档 查看 post_asset_folder
的详细介绍。
简单总结:
post_asset_folder = false
![](/images/image.jpg)
这种方式引用图片都可以正常 work,
post_asset_folder = true
![](/images/image.jpg)
这种方式引用图片,仅在文章中显示,首页/归档页将不再会显示图片,需要使用 标签插件 引用图片,才能正常显示。
引用图片的方式
在文章中插入指定大小的图片。
{% img [class names] /path/to/image [width] [height] '"title text" "alt text"' %}
例如:{% img https://img.ifnnn.cn/b65dc1f4245a9a1230e78bac21f5ee6f.png?imageView2/2/w/640 500 400 %}
-
{% asset_path filename %} {% asset_img [class names] slug [width] [height] [title text [alt text]] %} {% asset_link filename [title] [escape] %}
fancybox (点击查看大图)
https://github.com/theme-next/theme-next-fancybox3
图片压缩
- macOS: https://imageoptim.com/command-line.html
- Windows: https://nikkhokkho.sourceforge.io/static.php?page=FileOptimizer
- online: https://img.top/
- online: https://squoosh.app/
最佳实践
博客的源代码托管在 github,原则上不应该将大量的图片上传至 git 仓库,所以推荐采用 cdn 外链的方式插入图片。
虽然目前的图片cdn 都有魔法参数支持压缩、裁剪,但是原图尽量还是在不失真的前提下,压缩一下,节省体积。具体压缩方法可自由选择。
每个文件都有一个 md5 值,就将所有文章中使用的图片全部放在一个文件夹中,然后将文件名改为其 md5 值,保留原始后缀,然后将文件夹中的图片和 cdn 的某个目录保持同步。这样做的好处。
- 这样管理很简单、不容易忘,这个文件夹也可以同步到百度云或者其他网盘中,方便备份。
- 方便换 cdn 服务商。如果更换 cdn 厂商,只需同步下这个文件夹,全局替换下图片 host + prefix 即可。
- 可以随时检查文件名和 md5 值是否一致,以确定是否是原图。