21 lines
814 B
Markdown
21 lines
814 B
Markdown
# @wrnexus/content
|
|
|
|
Typed content collections for Markdown/MDX-like documents and remote CMS records. Collections
|
|
validate frontmatter through any `{ parse(input) }` schema, render escaped HTML, and expose draft
|
|
preview, versions, references, headings, search indexes, pagination, RSS and sitemaps.
|
|
|
|
```ts
|
|
const posts = defineCollection({
|
|
name: "posts",
|
|
schema: PostSchema,
|
|
loader: localContentLoader("content/posts"),
|
|
previewToken: process.env.CONTENT_PREVIEW_TOKEN,
|
|
});
|
|
|
|
const published = await posts.load();
|
|
const preview = await posts.load({ previewToken: request.headers.get("x-preview-token") ?? "" });
|
|
```
|
|
|
|
Remote systems implement `CmsAdapter`, use `cmsContentLoader`, or return JSON records through
|
|
`remoteContentLoader`. Markdown HTML is escaped by default; raw executable HTML is never trusted.
|