🖼️ 自动封面配图(cn_auto_cover)插件功能介绍
插件名称:自动封面配图
插件标识:cn_auto_cover
当前版本:v1.3.0
开发作者:Cnlog Team
适用程序:Cnlog 博客系统(要求 Cnlog 2.0.0 及以上版本)
运行环境:PHP 7.4 及以上 推荐PHP 8+,需开启 GD 扩展
一、插件概述
在日常维护博客或内容站点时,每篇文章如果没有设置封面图,列表页往往会显得比较单调。为了解决这个问题,我们开发了 自动封面配图 插件。它可以在您发布或保存文章的瞬间,自动检测文章是否已经设置了封面图,以及正文内是否自带图片;如果都没有,插件会从您预先设置好的图片池中随机抽取一张图片作为底图,并将文章标题居中合成到封面上,最终生成一张专属的文章封面图。
简单来说,它能让您的每一篇文章都拥有一张配图,让网站在视觉上更具吸引力。
二、核心功能
1. 自动检测文章状态
插件在文章被保存时触发,会检查以下两个条件:
- 文章是否已经设置了cover_image(封面图字段)。
- 文章正文内容中是否包含图片标签(<img>)。
只有当没有封面图且正文也没有图片时,才会执行自动生成。这样既保证了网站的视觉一致性,又不会覆盖作者自己精心设置的封面。
2. 预设图片池随机取图
您可以在后台设置界面中维护一个"图片池"。图片池支持以下两种格式:
- 完整的网络地址,例如https://www.example.com/cover.jpg。
- 站内相对路径,例如/web/plugins/cn_auto_cover/assets/pic/1.jpg。
每次生成封面时,插件会从图片池中随机抽取一张作为底图,从而避免多篇文章使用完全相同的底图,让网站更具层次感。默认情况下,插件内置了 18 张精美底图,开箱即用。
3. 标题居中合成并带阴影
插件使用 PHP 的 GD 库在底图上绘制文章标题,具有以下特性:
- 标题文字水平和垂直居中显示。
- 支持自动换行,可自定义标题的最大字数和最大行数,超出部分会自动省略。
- 标题文字带有透明阴影效果,让文字在各种底色的图片上都清晰可读。
- 在标题区域叠加一条半透明横条遮罩,既提升文字可读性,又增添设计感。
4. 自动写回文章封面字段
封面图生成完成后,插件会自动将生成的图片地址写回文章的cover_image字段,与您手动设置封面图的效果完全一致。同时会自动清理相关页面缓存,确保前台立即生效。
5. 后台可视化配置界面
插件提供了完整的后台管理页面,您可以在此处:
- 开关自动封面功能——随时启用或暂停。
- 管理图片池——随时添加、删除、更换底图地址。
- 调整画布尺寸——自定义封面图的宽度和高度。
- 设置标题样式——字号、颜色、最大字数、行数等。
- 调节遮罩与阴影——遮罩颜色和透明度、阴影偏移与透明度。
- 控制 JPEG 质量——在体积和清晰度之间取得平衡。
- 开启调试模式——记录生成日志,方便排查问题。
6. 调试模式与测试生成
在后台开启"调试模式"后,还可以:
- 手动输入测试标题,立即预览生成效果。
- 查看最近 20 条生成日志,了解每张封面的生成时间与结果。
-

三、插件配置项速览
配置项 默认值 说明 enabled 开启 是否启用自动封面生成 image_pool 内置 18 张图 预设封面图地址列表 canvas_width 600 像素 生成封面图的宽度 canvas_height 400 像素 生成封面图的高度 title_font_size 26 像素 标题文字大小 title_max_chars 15 字 每行标题最大字数 title_max_lines 2 行 标题最大行数 overlay_opacity 0.5 横条遮罩透明度 shadow_opacity 0.16 文字阴影透明度 text_color #111111 标题文字颜色 overlay_color #FFFFFF 横条遮罩颜色 jpeg_quality 85 JPEG 图片压缩质量 skip_if_content_has_image 关闭 正文有图片时是否跳过生成 debug_mode 关闭 是否记录调试日志四、使用流程
- 在 Cnlog 后台插件管理中,找到 自动封面配图 插件,点击"启用"。
- 进入插件设置页面,检查图片池中的底图是否符合您的审美,可自行增删替换。
- 根据网站设计风格,调整画布尺寸、标题样式和颜色参数。
- 保存设置后,插件即开始工作。接下来发布的每篇新文章,只要没有手动设置封面且正文没有图片,都会自动生成封面图。
- 如需要测试当前参数的视觉效果,可以开启调试模式,输入测试标题即时预览。
-

五、注意事项
- 插件使用 PHP 的 GD 扩展进行图片合成,请确保服务器已启用此扩展(大多数环境默认开启)。
- 生成的封面图会保存在插件目录下的assets/generated文件夹中,请勿手动删除此目录。
- 图片池中的地址必须能被服务器正常访问。如果使用网络图片,请确保服务器具备外网访问能力。
- 为避免与后台模板布局冲突,插件页面使用了独立样式容器,不会影响前台主题的展示。
- 插件在每次生成后会自动清理相关页面缓存,确保前台看到的是最新结果。
六、技术亮点
- 钩子机制:通过save_log钩子监听文章保存动作,完全非侵入式。
- 重入防护:内置运行标记,防止同一次请求中被重复触发。
- 参数校验:所有配置项都有合理范围限制,避免误操作导致异常。
- CSRF 防护:后台设置页面每次提交都带有独立的安全令牌。
- 自动目录创建:首次启用时自动创建生成目录和字体目录。
- 中文支持:内置思源黑体字体,支持中文标题正常渲染和换行。
七、总结
自动封面配图 插件为 Cnlog 博客系统提供了一个"零操作即可获得配图"的解决方案。它让原本没有封面图的文章也能拥有精美的配图,让您的网站列表页看起来更加精致美观。无论是个人博客还是内容网站,它都能以最小的成本,为您带来显著的视觉提升。
以上就是 cn_auto_cover 自动封面配图插件 的功能介绍,感谢阅读!

暂无评论,快来抢沙发~