Blog toolkit
The official blog plugin (free) adds what WordPress blogs usually get from a handful of plugins
(Akismet-style moderation, Easy TOC, Jetpack sharing, YARPP, MailPoet…). It ships inside the
framework (plugins/blog).
node node_modules/nuxtcms/scripts/plugin.mjs add blog
pnpm build:cf && pnpm deploy
Features
| Feature | Details |
|---|---|
| Comments | one level of replies, Gravatar avatars, moderation modes (approve all / trust returning commenters / publish immediately), blocked words → spam, link limit → held, honeypot, Turnstile, rate limit, close after N days, notification to the owner, reply notification to the commenter, admin replies marked "Author" |
| Reading | table of contents from the article headings (minimum heading count), reading progress bar, reading time and word count (CJK aware) |
| Sharing | X, Facebook, LinkedIn, WhatsApp, Telegram, Weibo, Reddit, e-mail and copy / native share; choose them in the settings |
| Discovery | related posts by shared tags and category, author box, tag / category / author archives (/blog/tag/<tag>, /blog/category/<slug>, /blog/author/<id>), tags and categories on posts link to them, <BlogPopular /> most-viewed widget |
| Newsletter | sign-up box under posts and on /newsletter, double opt-in, unsubscribe link and one-click unsubscribe headers (List-Unsubscribe: mail clients show an "unsubscribe" button) in every e-mail, subscribe again with one click after unsubscribing (and unsubscribe after confirming), import / CSV export, optional e-mail on publish (first batch right away, the rest in batches by a scheduled task), on multilingual sites only to subscribers of the post's language, abuse protection: captcha, honeypot, per-IP limit and at most 3 confirmation e-mails per address a day |
Admin: Comments (moderation queue with bulk actions and inline reply) and Subscribers
(list, import, export, send a post). Events comment.created and subscriber.created work with the
robot / webhook plugins.
Settings
Admin → Plugins → Blog toolkit → Configure. For e-mails (notifications, confirmations, newsletters) configure SMTP in Admin → E-mail; mailings larger than one batch ("E-mails per scheduled run") need the cron Worker for the rest.
For the newsletter alone, turn off comments, table of contents, reading time, progress bar, author
box and related posts, and leave the share buttons blank. Sites whose posts are not at
/blog/<slug> (e.g. /news/<slug>) set "Post path in e-mail links" to /news.
Hide or reorder widgets from the site's app.config.ts:
export default defineAppConfig({
nuxtcms: {
slots: {
'post:footer': { BlogSubscribe: false, BlogComments: 10 },
},
},
})
<BlogSubscribe source="footer" compact /> and <BlogPopular :limit="5" /> can be placed in any
layout. Tables: {prefix}blog_comments, blog_subscribers, blog_mailings, created on first use.