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/core/core/server";
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
Run database migrations
bash
bun run veap migrateKeep 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 Core
@veap/core (^0.1.0)
Required Veap Plugins
NPM Packages
- next-mdx-remote@^6.0.0
- remark-gfm@^4.0.1
- date-fns@^4.1.0
- @faker-js/faker@^9.4.0
Authors & Maintainers
Veap Core Team
Maintainer
Credits & Acknowledgments
- MDX Remote: Markdown processing and server-rendered component pipeline
Specifications
- License
- MIT
- Type
- plugin
- Status
- official
- Repository
- GitHub →
- Issues
- Report issue →