gulp - 如何优化通过 Netlify CMS 上传的图片?
问题描述
我有一个 Hugo 网站,我正在使用 Netlify CMS 来管理内容。每次站点构建时,它都会运行一个 Gulp 任务,将图像从 src 文件夹优化到静态文件夹。但是,问题是,当我通过 CMS 上传图像时,它会将其存储在静态文件夹中。
那么,在管理员 config.yml 中,我应该将 media_folder 设置为 src/images 吗?
我的想法是该任务将运行并将新的缩小图像存储到静态文件夹中,但对吗?还是有其他方法可以做到这一点?
吞咽任务:
gulp.task('images', () => {
return gulp.src('src/images/**/*.{png,jpg,jpeg,gif,svg,webp,ico}')
.pipe($.newer('static/images'))
.pipe($.print())
.pipe($.imagemin([
$.imagemin.jpegtran({progressive: true}),
$.imagemin.optipng({optimizationLevel: 5}),
]))
.pipe(gulp.dest('static/images'));
});
管理员配置.yml
media_folder: "static/images"
public_folder: "images"
解决方案
只需配置 Netlify CMS 将文件上传到不同的位置,即页面包,然后 Hugo 就可以本地处理图像优化。
推荐阅读
- javascript - preventDefault() 不起作用,页面继续重新加载
- mongodb - 如何在没有时间的情况下比较 mongo 上的日期?
- django - Heroku 和 Django:找不到该进程类型(网络)
- reactjs - 无法使用道具将菜肴评论传递给组件
- lua - 为什么 Color3 值更改为错误的数字?
- flutter - 如何在模拟器上运行我的 Flutter 应用程序的发布版本
- ms-office - 是否可以使用自动打开功能在线共享 Excel 文件(根据偏好只读)?
- ajax - Laravel Auth - 如果用户未登录隐藏控制器重新生成的编辑和删除按钮 [Yajra DataTables]
- c# - 如何使用 Linq 插入多个表?
- python - 无法训练 tensorflow ssd_mobilenet_v2。无法获取匹配文件