插件

博客增强

官方 blog 插件(免费)提供 WordPress 博客通常要装好几个插件才有的功能(类似 Akismet 的审核、Easy TOC、Jetpack 分享、YARPP、MailPoet 等)。插件随框架一起发布(plugins/blog)。

node node_modules/nuxtcms/scripts/plugin.mjs add blog
pnpm build:cf && pnpm deploy

功能

功能说明
评论一级回复、Gravatar 头像;审核模式三选一(全部人工审核 / 首次审核后信任 / 直接发布);命中屏蔽词标为垃圾,链接过多进入审核;蜜罐字段、Turnstile、频率限制;发布 N 天后关闭评论;新评论通知站长,有人回复时通知原评论者;后台回复显示"作者"标记
阅读体验根据文章标题自动生成目录(可设最少标题数)、阅读进度条、阅读时长与字数(中文按字计)
分享X、Facebook、LinkedIn、WhatsApp、Telegram、微博、Reddit、邮件,以及复制链接 / 系统分享,可在设置中选择
内容发现按共同标签与分类推荐相关文章;作者卡片;标签、分类、作者归档页(/blog/tag/<标签>、/blog/category/<slug>、/blog/author/<id>),文章上的标签和分类直接链接过去;<BlogPopular /> 热门文章组件
邮件订阅文章下方与 /newsletter 页面的订阅框;双重确认;每封邮件附退订链接和一键退订头(List-Unsubscribe,邮箱客户端直接显示"退订"按钮);退订后可一键重新订阅,确认后也可一键退订;导入 / 导出 CSV;可选在发布新文章时推送(第一批立即发出,其余由定时任务分批发送);多语言站点只发给同语言的订阅者;防刷:验证码、蜜罐字段、按 IP 限流,同一邮箱每天最多 3 封确认邮件

后台新增 评论(审核队列,支持批量操作和直接回复)与 订阅者(列表、导入、导出、推送文章)。事件 comment.created、subscriber.created 可与机器人 / Webhook 插件配合使用。

设置

在 后台 → 插件 → 博客增强 → 配置 中设置。通知、确认邮件与订阅推送都依赖 后台 → 邮件配置 中的 SMTP;订阅推送超过一批("每次定时任务发送封数")时,其余部分需要定时任务 Worker 在运行。

只想用邮件订阅时,可以关掉评论、目录、阅读时长、进度条、作者卡片和相关文章,并把分享按钮留空。文章不在 /blog/<slug> 的站点(例如 /news/<slug>),把"邮件里的文章链接路径"设为 /news。

在站点的 app.config.ts 中隐藏或调整组件顺序:

export default defineAppConfig({
  nuxtcms: {
    slots: {
      'post:footer': { BlogSubscribe: false, BlogComments: 10 },
    },
  },
})

<BlogSubscribe source="footer" compact /> 和 <BlogPopular :limit="5" /> 可以放在任意布局中。数据表 {前缀}blog_comments、blog_subscribers、blog_mailings 在首次使用时自动创建。