@scribe-atp/next
Functions
Section titled “Functions”createScribeSite
Section titled “createScribeSite”function createScribeSite(author: string, siteSlug: string): ScribeSiteFactoryReturns a factory object with methods for generateStaticParams and generateMetadata in the Next.js 13+ App Router.
| Parameter | Type | Description |
|---|---|---|
author | string | Author handle or DID |
siteSlug | string | Site rkey — derive with toSlug(domain) |
Usage:
import { createScribeSite } from '@scribe-atp/next';export const scribe = createScribeSite('alice.bsky.social', 'alice-bsky-social');Factory methods
Section titled “Factory methods”generateGroupParams
Section titled “generateGroupParams”generateGroupParams(): Promise<{ groupSlug: string }[]>Returns static params for a [groupSlug] route segment. Use as generateStaticParams on a group page.
generateArticleParams
Section titled “generateArticleParams”generateArticleParams(): Promise<{ articleSlug: string }[]>Returns static params for an [articleSlug] route segment (flat, no group prefix). Use as generateStaticParams on an article page with a single dynamic segment.
generateGroupArticleParams
Section titled “generateGroupArticleParams”generateGroupArticleParams(): Promise<{ groupSlug: string; articleSlug: string }[]>Returns static params for a [groupSlug]/[articleSlug] route. Use as generateStaticParams on a nested article page.
generateSiteMetadata
Section titled “generateSiteMetadata”generateSiteMetadata(): Promise<Metadata>Returns Next.js Metadata for the site index page, including title, description, and openGraph fields.
generateGroupMetadata
Section titled “generateGroupMetadata”generateGroupMetadata(groupSlug: string): Promise<Metadata>Returns Metadata for a group page. Title format: "{Group Title} — {Site Title}".
generateArticleMetadata
Section titled “generateArticleMetadata”generateArticleMetadata(articleSlug: string): Promise<Metadata>Returns Metadata for an article page, including title, description (from synopsis), and openGraph.images (from splashImageUrl). Title format: "{Article Title} — {Site Title}".
All types from @scribe-atp/core are re-exported:
import type { Site, Article, ArticleRef, SiteGroup } from '@scribe-atp/next';See the core reference for type definitions.