Purpose & Overview
Provides full-featured content publishing capabilities, post lifecycle management, polymorphic categorization and tagging, and SEO-friendly rendering.
Installation & Setup
1
Install the package
bash
bun veap add @veap/blog-plugin2
Register in lib/veap.ts (or auto via lib/plugins.gen.ts)
lib/veap.ts
typescript
// lib/veap.ts (auto-registered in lib/plugins.gen.ts)
import { Application } from "@veap/kernel";
import blogPlugin from "@veap/blog-plugin";
export const app = Application.configure()
.withDatabase()
.withPlugins([blogPlugin])
.create();
// Querying blog posts in components or server actions:
import { BlogPost } from "@veap/blog-plugin";
const posts = await BlogPost.query()
.where("status", "published")
.with(["category", "tags", "comments"])
.orderBy("published_at", "desc")
.get();3
Start application
bash
bun devMigrations run automatically on boot via MigrationServiceProvider.
Keep in mind
- Requires the active @veap/media-plugin to handle post attachments and featured images.
- Automatically registers virtual router routes at /blog and an administration view at /admin/blog.
- Supports polymorphic relationships with @veap/categorizable, @veap/taggable, and @veap/commentable.
Dependencies
Veap Kernel
@veap/kernel (^0.1.0)
Required Veap Plugins
NPM Packages
next-mdx-remote@^6.0.0remark-gfm@^4.0.1date-fns@^4.1.0@faker-js/faker@^9.4.0
Authors & Maintainers
Veap Core Team
Maintainer