@mrraymondvo/blog-kit
v0.5.2
Published
Scoped convenience entrypoint for `blog-kit`.
Downloads
379
Maintainers
Readme
@mrraymondvo/blog-kit
Scoped convenience entrypoint for blog-kit.
Use this package when you want the default public surface without installing each package one by one.
Install
pnpm add @mrraymondvo/blog-kitAdd optional peer/provider dependencies based on the surfaces you use. The base import only re-exports domain and Next.js publishing helpers:
pnpm add react react-dom
pnpm add @supabase/supabase-jsEntry Points
| Entry point | Re-exports |
| --- | --- |
| @mrraymondvo/blog-kit | blog-kit-core, blog-kit-next |
| @mrraymondvo/blog-kit/editor | blog-kit-editor |
| @mrraymondvo/blog-kit/local | blog-kit-local |
| @mrraymondvo/blog-kit/supabase | blog-kit-supabase |
Use subpaths when you want one public package name while keeping editor, local, and Supabase code opt-in at the import level.
Example
import {
paginateItems,
toArticleMetadata,
toBlogPostSummary
} from "@mrraymondvo/blog-kit";
const summaries = posts.map((post) => toBlogPostSummary(post, siteConfig));
const page = paginateItems(summaries, { page: 1, pageSize: 6 });
const metadata = toArticleMetadata(post, siteConfig);Supabase adapter access stays opt-in:
import { createSupabaseAdapter } from "@mrraymondvo/blog-kit/supabase";
const adapter = createSupabaseAdapter({ client });
const posts = await adapter.posts.listAllPublishedPosts();Editor access also stays opt-in and host-controlled:
import { BlogPostEditor } from "@mrraymondvo/blog-kit/editor";
<BlogPostEditor
value={post}
categories={categories}
onChange={setPost}
onSaveDraft={saveDraft}
/>When To Use Explicit Packages
Use package-specific modules instead when you want stricter dependency control:
blog-kit-coreblog-kit-nextblog-kit-editorblog-kit-localblog-kit-supabase
See the full adoption guide in
../../docs/getting-started.md.
