@xexr/blog-platform 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/blog/[slug]/page.tsx +10 -3
- package/dist/app/blog/page.tsx +12 -11
- package/dist/app/blog/series/[slug]/page.d.ts +28 -0
- package/dist/app/blog/series/[slug]/page.tsx +39 -0
- package/dist/app/blog/series/page.d.ts +24 -0
- package/dist/app/blog/series/page.tsx +28 -0
- package/dist/components/SeriesArchivePages.tsx +212 -0
- package/dist/components/SeriesNavigation.tsx +117 -0
- package/dist/{index-Dr8HaKGm.d.mts → index-CKWrb9a4.d.mts} +43 -1
- package/dist/{index-Dr8HaKGm.d.ts → index-CKWrb9a4.d.ts} +43 -1
- package/dist/index.d.mts +85 -5
- package/dist/index.d.ts +85 -5
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -12
- package/dist/index.mjs.map +1 -1
- package/dist/lib/related-articles.d.mts +1 -1
- package/dist/lib/related-articles.d.ts +1 -1
- package/dist/lib/series.ts +55 -0
- package/dist/lib/sitemap.ts +76 -4
- package/dist/lib/storage/drizzle.ts +9 -0
- package/dist/lib/urls.ts +7 -0
- package/dist/{sitemap-BmCh8BpN.d.ts → sitemap-BDT3d496.d.ts} +7 -1
- package/dist/{sitemap-Dbl4CUGI.d.mts → sitemap-D3rS0iAF.d.mts} +7 -1
- package/dist/sitemap.d.mts +2 -2
- package/dist/sitemap.d.ts +2 -2
- package/dist/sitemap.js +5 -5
- package/dist/sitemap.js.map +1 -1
- package/dist/sitemap.mjs +5 -5
- package/dist/sitemap.mjs.map +1 -1
- package/dist/types/contracts.ts +58 -0
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as PublishedArticle, b as PublishedSite, d as PublishedNewsletterSettings, e as PublishedArticleCta, c as PublishedAuthor, f as PublishResult, P as PublishedTopic } from './index-
|
|
2
|
-
export {
|
|
1
|
+
import { a as PublishedArticle, b as PublishedSite, d as PublishedNewsletterSettings, e as PublishedArticleCta, c as PublishedAuthor, f as PublishResult, P as PublishedTopic, g as PublishedSeriesContext } from './index-CKWrb9a4.mjs';
|
|
2
|
+
export { h as PublishPayload, i as PublishedAuthorSocialLinks } from './index-CKWrb9a4.mjs';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { CSSProperties, ReactElement } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
@@ -10,8 +10,8 @@ export { RelatedArticleCandidate, RelatedFeaturedArticlesOptions, getRelatedFeat
|
|
|
10
10
|
import { NextRequest, NextResponse } from 'next/server.js';
|
|
11
11
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
12
12
|
import { LibSQLDatabase } from 'drizzle-orm/libsql';
|
|
13
|
-
import { C as CanonicalUrlOptions } from './sitemap-
|
|
14
|
-
export { B as BlogSitemapConfig, N as NextjsSitemapEntry, S as SitemapChangeFreq, a as SitemapData, b as SitemapEntry, c as SitemapOptions, d as createBlogSitemapRoute, e as createDynamicBlogSitemap, g as generateBlogSitemapEntries, f as generateCanonicalUrl, h as generateCanonicalUrlFromSlug, i as generateSitemap, j as generateSitemapIndex, k as getBaseUrl, l as isValidCanonicalUrl, n as normalizeDomain, m as normalizeSlug, s as sitemapToXml, u as updateArticleCanonicalUrl, v as validateSitemap } from './sitemap-
|
|
13
|
+
import { C as CanonicalUrlOptions } from './sitemap-D3rS0iAF.mjs';
|
|
14
|
+
export { B as BlogSitemapConfig, N as NextjsSitemapEntry, S as SitemapChangeFreq, a as SitemapData, b as SitemapEntry, c as SitemapOptions, d as createBlogSitemapRoute, e as createDynamicBlogSitemap, g as generateBlogSitemapEntries, f as generateCanonicalUrl, h as generateCanonicalUrlFromSlug, i as generateSitemap, j as generateSitemapIndex, k as getBaseUrl, l as isValidCanonicalUrl, n as normalizeDomain, m as normalizeSlug, s as sitemapToXml, u as updateArticleCanonicalUrl, v as validateSitemap } from './sitemap-D3rS0iAF.mjs';
|
|
15
15
|
|
|
16
16
|
interface BlogTheme {
|
|
17
17
|
accentColor?: string;
|
|
@@ -159,6 +159,52 @@ declare function generateArticleMetadata(
|
|
|
159
159
|
};
|
|
160
160
|
};
|
|
161
161
|
|
|
162
|
+
interface BlogSeriesPageProps {
|
|
163
|
+
articles: PublishedArticle[];
|
|
164
|
+
basePath?: string;
|
|
165
|
+
title?: string;
|
|
166
|
+
description?: string;
|
|
167
|
+
className?: string;
|
|
168
|
+
theme?: BlogTheme;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
declare function BlogSeriesPage(
|
|
172
|
+
props: BlogSeriesPageProps,
|
|
173
|
+
): ReactElement;
|
|
174
|
+
|
|
175
|
+
declare function generateSeriesIndexMetadata(basePath?: string): {
|
|
176
|
+
title: string;
|
|
177
|
+
description: string;
|
|
178
|
+
alternates: {
|
|
179
|
+
canonical: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
interface BlogSeriesArchiveRoutePageProps {
|
|
184
|
+
articles: PublishedArticle[];
|
|
185
|
+
seriesSlug: string;
|
|
186
|
+
basePath?: string;
|
|
187
|
+
className?: string;
|
|
188
|
+
theme?: BlogTheme;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
declare function BlogSeriesArchiveRoutePage(
|
|
192
|
+
props: BlogSeriesArchiveRoutePageProps,
|
|
193
|
+
): ReactElement;
|
|
194
|
+
|
|
195
|
+
declare function generateSeriesArchiveMetadata(options: {
|
|
196
|
+
title: string;
|
|
197
|
+
description?: string;
|
|
198
|
+
slug: string;
|
|
199
|
+
basePath?: string;
|
|
200
|
+
}): {
|
|
201
|
+
title: string;
|
|
202
|
+
description: string;
|
|
203
|
+
alternates: {
|
|
204
|
+
canonical: string;
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
|
|
162
208
|
interface AuthorPageProps {
|
|
163
209
|
author: PublishedAuthor;
|
|
164
210
|
articles: PublishedArticle[];
|
|
@@ -297,6 +343,7 @@ declare function cn(...inputs: ClassValue[]): string;
|
|
|
297
343
|
declare function normalizeBlogBasePath(basePath?: string): string;
|
|
298
344
|
declare function buildBlogPath(basePath: string | undefined, slug?: string): string;
|
|
299
345
|
declare function buildAuthorPath(basePath: string | undefined, authorSlug: string): string;
|
|
346
|
+
declare function buildSeriesPath(basePath: string | undefined, seriesSlug: string): string;
|
|
300
347
|
declare function getPathPrefixFromBlogUrl(blogUrl: string): string;
|
|
301
348
|
|
|
302
349
|
/**
|
|
@@ -397,6 +444,14 @@ declare function getArticlePrimaryTopic(article: PublishedArticle): PublishedTop
|
|
|
397
444
|
declare function getAllTopics(articles: PublishedArticle[]): PublishedTopic[];
|
|
398
445
|
declare function getTopicArchive(articles: PublishedArticle[], topicSlug: string): TopicArchive | null;
|
|
399
446
|
|
|
447
|
+
interface SeriesArchive {
|
|
448
|
+
series: PublishedSeriesContext;
|
|
449
|
+
articles: PublishedArticle[];
|
|
450
|
+
}
|
|
451
|
+
declare function getAllSeries(articles: PublishedArticle[]): PublishedSeriesContext[];
|
|
452
|
+
declare function getSeriesArchive(articles: PublishedArticle[], seriesSlug: string): SeriesArchive | null;
|
|
453
|
+
declare function getArticleSeriesNavigation(article: PublishedArticle): PublishedSeriesContext | null;
|
|
454
|
+
|
|
400
455
|
interface BlogTopicsIndexPageProps {
|
|
401
456
|
articles: PublishedArticle[];
|
|
402
457
|
basePath?: string;
|
|
@@ -415,6 +470,31 @@ interface BlogTopicArchivePageProps {
|
|
|
415
470
|
declare function BlogTopicsIndexPage({ articles, basePath, title, description, className, theme, }: BlogTopicsIndexPageProps): react_jsx_runtime.JSX.Element;
|
|
416
471
|
declare function BlogTopicArchivePage({ articles, topicSlug, basePath, className, theme, }: BlogTopicArchivePageProps): react_jsx_runtime.JSX.Element;
|
|
417
472
|
|
|
473
|
+
interface BlogSeriesIndexPageProps {
|
|
474
|
+
articles: PublishedArticle[];
|
|
475
|
+
basePath?: string;
|
|
476
|
+
title?: string;
|
|
477
|
+
description?: string;
|
|
478
|
+
className?: string;
|
|
479
|
+
theme?: BlogTheme;
|
|
480
|
+
}
|
|
481
|
+
interface BlogSeriesArchivePageProps {
|
|
482
|
+
articles: PublishedArticle[];
|
|
483
|
+
seriesSlug: string;
|
|
484
|
+
basePath?: string;
|
|
485
|
+
className?: string;
|
|
486
|
+
theme?: BlogTheme;
|
|
487
|
+
}
|
|
488
|
+
declare function BlogSeriesIndexPage({ articles, basePath, title, description, className, theme, }: BlogSeriesIndexPageProps): react_jsx_runtime.JSX.Element;
|
|
489
|
+
declare function BlogSeriesArchivePage({ articles, seriesSlug, basePath, className, theme, }: BlogSeriesArchivePageProps): react_jsx_runtime.JSX.Element;
|
|
490
|
+
|
|
491
|
+
interface SeriesNavigationProps {
|
|
492
|
+
article: PublishedArticle;
|
|
493
|
+
basePath?: string;
|
|
494
|
+
className?: string;
|
|
495
|
+
}
|
|
496
|
+
declare function SeriesNavigation({ article, basePath, className, }: SeriesNavigationProps): react_jsx_runtime.JSX.Element | null;
|
|
497
|
+
|
|
418
498
|
interface BlogAuthorsIndexPageProps {
|
|
419
499
|
articles: PublishedArticle[];
|
|
420
500
|
basePath?: string;
|
|
@@ -2203,4 +2283,4 @@ declare function OPTIONS(request: NextRequest): Promise<NextResponse>;
|
|
|
2203
2283
|
|
|
2204
2284
|
declare const PACKAGE_VERSION: string;
|
|
2205
2285
|
|
|
2206
|
-
export { ApiKeyAuth, type AuthConfig, type AuthResult, type AuthorArchive, type AuthorArchiveOptions, BLOG_PLATFORM_SCHEMA_VERSION, BLOG_PLATFORM_TABLE_NAMES, ArticlePage as BlogArticlePage, AuthorPage as BlogAuthorPage, BlogAuthorsIndexPage, BlogHomePage, type BlogPlatformConfig, type BlogPlatformSchemaCheckResult, BlogPlatformSchemaError, type BlogPlatformStorage, type BlogPlatformTableName, type BlogPostingSchema, type BlogTheme, BlogTopicArchivePage, BlogTopicsIndexPage, type BreadcrumbListSchema, Button, CanonicalUrlOptions, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, DrizzleStorage, EnvAuth, type GeneratedMetadata, InMemoryStorage, type LinkTag, type MetaTag, type MetadataOptions, NEWSLETTER_SUCCESS_MESSAGE, NewsletterSignup, type NewsletterSignupProps, NoAuth, type OrganizationSchema, PACKAGE_VERSION, Pagination$1 as Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PersonSchema, PublishResult, PublishedArticle, PublishedAuthor, PublishedNewsletterSettings, PublishedSite, PublishedTopic, type RateLimitConfig, type RateLimitResult, Pagination as ShadcnPagination, StructuredDataError, type StructuredDataOptions, type TopicArchive, UninitializedAuth, type WebSiteSchema, autoConfigureRateLimit, blogPlatformDrizzleSchema, bpArticles, bpMetadata, bpOperations, buildAuthorPath, buildBlogPath, buttonVariants, checkDrizzleAdapterSchema, checkRateLimit, cn, POST as configHandler, OPTIONS$1 as configOptionsHandler, configureRateLimit, createRateLimitErrorResponse, createStructuredDataScript, createTokenFingerprint, enforceRateLimit, ensureDrizzleAdapterSchema, extractKeywordsFromArticle, extractTableOfContents, extractTokenFromHeader, formatArticleDateMeta, generateArticleMetadata, generateArticleStructuredData, generateAuthorPageMetadata, generateAuthorStructuredData, generateBlogHomeMetadata, generateBlogHomeStructuredData, generateBreadcrumbStructuredData, generateCompleteArticleStructuredData, generateOrganizationStructuredData, generatePaginationMetadata, generateSiteMetadata, generateWebSiteStructuredData, getAllTopics, getArticlePrimaryTopic, getAuthConfig, getAuthorArchive, getAuthorsFromArticles, getBlogThemeStyle, getDrizzleAdapterSql, getPathPrefixFromBlogUrl, getRateLimitHeaders, getStorage, getTopicArchive, GET$1 as indexNowKeyRoute, initBlogPlatform, initBlogPlatformDev, initBlogPlatformOnce, initBlogPlatformProd, initEnvAuth, loadAuthorArchive, metadataToHtml, normalizeBlogBasePath, POST$2 as publishHandler, safeGenerateArticleStructuredData, setAuthConfig, setStorage, shouldSkipAuth, GET as slugExistsHandler, OPTIONS as slugExistsOptionsHandler, structuredDataToJsonLd, POST$1 as unpublishHandler, usePagination, validateMetadata, validateStructuredData, GET$2 as versionHandler };
|
|
2286
|
+
export { ApiKeyAuth, type AuthConfig, type AuthResult, type AuthorArchive, type AuthorArchiveOptions, BLOG_PLATFORM_SCHEMA_VERSION, BLOG_PLATFORM_TABLE_NAMES, ArticlePage as BlogArticlePage, AuthorPage as BlogAuthorPage, BlogAuthorsIndexPage, BlogHomePage, type BlogPlatformConfig, type BlogPlatformSchemaCheckResult, BlogPlatformSchemaError, type BlogPlatformStorage, type BlogPlatformTableName, type BlogPostingSchema, BlogSeriesArchivePage, BlogSeriesArchiveRoutePage, BlogSeriesIndexPage, BlogSeriesPage, type BlogTheme, BlogTopicArchivePage, BlogTopicsIndexPage, type BreadcrumbListSchema, Button, CanonicalUrlOptions, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, DrizzleStorage, EnvAuth, type GeneratedMetadata, InMemoryStorage, type LinkTag, type MetaTag, type MetadataOptions, NEWSLETTER_SUCCESS_MESSAGE, NewsletterSignup, type NewsletterSignupProps, NoAuth, type OrganizationSchema, PACKAGE_VERSION, Pagination$1 as Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PersonSchema, PublishResult, PublishedArticle, PublishedAuthor, PublishedNewsletterSettings, PublishedSite, PublishedTopic, type RateLimitConfig, type RateLimitResult, type SeriesArchive, SeriesNavigation, Pagination as ShadcnPagination, StructuredDataError, type StructuredDataOptions, type TopicArchive, UninitializedAuth, type WebSiteSchema, autoConfigureRateLimit, blogPlatformDrizzleSchema, bpArticles, bpMetadata, bpOperations, buildAuthorPath, buildBlogPath, buildSeriesPath, buttonVariants, checkDrizzleAdapterSchema, checkRateLimit, cn, POST as configHandler, OPTIONS$1 as configOptionsHandler, configureRateLimit, createRateLimitErrorResponse, createStructuredDataScript, createTokenFingerprint, enforceRateLimit, ensureDrizzleAdapterSchema, extractKeywordsFromArticle, extractTableOfContents, extractTokenFromHeader, formatArticleDateMeta, generateArticleMetadata, generateArticleStructuredData, generateAuthorPageMetadata, generateAuthorStructuredData, generateBlogHomeMetadata, generateBlogHomeStructuredData, generateBreadcrumbStructuredData, generateCompleteArticleStructuredData, generateOrganizationStructuredData, generatePaginationMetadata, generateSeriesArchiveMetadata, generateSeriesIndexMetadata, generateSiteMetadata, generateWebSiteStructuredData, getAllSeries, getAllTopics, getArticlePrimaryTopic, getArticleSeriesNavigation, getAuthConfig, getAuthorArchive, getAuthorsFromArticles, getBlogThemeStyle, getDrizzleAdapterSql, getPathPrefixFromBlogUrl, getRateLimitHeaders, getSeriesArchive, getStorage, getTopicArchive, GET$1 as indexNowKeyRoute, initBlogPlatform, initBlogPlatformDev, initBlogPlatformOnce, initBlogPlatformProd, initEnvAuth, loadAuthorArchive, metadataToHtml, normalizeBlogBasePath, POST$2 as publishHandler, safeGenerateArticleStructuredData, setAuthConfig, setStorage, shouldSkipAuth, GET as slugExistsHandler, OPTIONS as slugExistsOptionsHandler, structuredDataToJsonLd, POST$1 as unpublishHandler, usePagination, validateMetadata, validateStructuredData, GET$2 as versionHandler };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as PublishedArticle, b as PublishedSite, d as PublishedNewsletterSettings, e as PublishedArticleCta, c as PublishedAuthor, f as PublishResult, P as PublishedTopic } from './index-
|
|
2
|
-
export {
|
|
1
|
+
import { a as PublishedArticle, b as PublishedSite, d as PublishedNewsletterSettings, e as PublishedArticleCta, c as PublishedAuthor, f as PublishResult, P as PublishedTopic, g as PublishedSeriesContext } from './index-CKWrb9a4.js';
|
|
2
|
+
export { h as PublishPayload, i as PublishedAuthorSocialLinks } from './index-CKWrb9a4.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { CSSProperties, ReactElement } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
@@ -10,8 +10,8 @@ export { RelatedArticleCandidate, RelatedFeaturedArticlesOptions, getRelatedFeat
|
|
|
10
10
|
import { NextRequest, NextResponse } from 'next/server.js';
|
|
11
11
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
12
12
|
import { LibSQLDatabase } from 'drizzle-orm/libsql';
|
|
13
|
-
import { C as CanonicalUrlOptions } from './sitemap-
|
|
14
|
-
export { B as BlogSitemapConfig, N as NextjsSitemapEntry, S as SitemapChangeFreq, a as SitemapData, b as SitemapEntry, c as SitemapOptions, d as createBlogSitemapRoute, e as createDynamicBlogSitemap, g as generateBlogSitemapEntries, f as generateCanonicalUrl, h as generateCanonicalUrlFromSlug, i as generateSitemap, j as generateSitemapIndex, k as getBaseUrl, l as isValidCanonicalUrl, n as normalizeDomain, m as normalizeSlug, s as sitemapToXml, u as updateArticleCanonicalUrl, v as validateSitemap } from './sitemap-
|
|
13
|
+
import { C as CanonicalUrlOptions } from './sitemap-BDT3d496.js';
|
|
14
|
+
export { B as BlogSitemapConfig, N as NextjsSitemapEntry, S as SitemapChangeFreq, a as SitemapData, b as SitemapEntry, c as SitemapOptions, d as createBlogSitemapRoute, e as createDynamicBlogSitemap, g as generateBlogSitemapEntries, f as generateCanonicalUrl, h as generateCanonicalUrlFromSlug, i as generateSitemap, j as generateSitemapIndex, k as getBaseUrl, l as isValidCanonicalUrl, n as normalizeDomain, m as normalizeSlug, s as sitemapToXml, u as updateArticleCanonicalUrl, v as validateSitemap } from './sitemap-BDT3d496.js';
|
|
15
15
|
|
|
16
16
|
interface BlogTheme {
|
|
17
17
|
accentColor?: string;
|
|
@@ -159,6 +159,52 @@ declare function generateArticleMetadata(
|
|
|
159
159
|
};
|
|
160
160
|
};
|
|
161
161
|
|
|
162
|
+
interface BlogSeriesPageProps {
|
|
163
|
+
articles: PublishedArticle[];
|
|
164
|
+
basePath?: string;
|
|
165
|
+
title?: string;
|
|
166
|
+
description?: string;
|
|
167
|
+
className?: string;
|
|
168
|
+
theme?: BlogTheme;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
declare function BlogSeriesPage(
|
|
172
|
+
props: BlogSeriesPageProps,
|
|
173
|
+
): ReactElement;
|
|
174
|
+
|
|
175
|
+
declare function generateSeriesIndexMetadata(basePath?: string): {
|
|
176
|
+
title: string;
|
|
177
|
+
description: string;
|
|
178
|
+
alternates: {
|
|
179
|
+
canonical: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
interface BlogSeriesArchiveRoutePageProps {
|
|
184
|
+
articles: PublishedArticle[];
|
|
185
|
+
seriesSlug: string;
|
|
186
|
+
basePath?: string;
|
|
187
|
+
className?: string;
|
|
188
|
+
theme?: BlogTheme;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
declare function BlogSeriesArchiveRoutePage(
|
|
192
|
+
props: BlogSeriesArchiveRoutePageProps,
|
|
193
|
+
): ReactElement;
|
|
194
|
+
|
|
195
|
+
declare function generateSeriesArchiveMetadata(options: {
|
|
196
|
+
title: string;
|
|
197
|
+
description?: string;
|
|
198
|
+
slug: string;
|
|
199
|
+
basePath?: string;
|
|
200
|
+
}): {
|
|
201
|
+
title: string;
|
|
202
|
+
description: string;
|
|
203
|
+
alternates: {
|
|
204
|
+
canonical: string;
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
|
|
162
208
|
interface AuthorPageProps {
|
|
163
209
|
author: PublishedAuthor;
|
|
164
210
|
articles: PublishedArticle[];
|
|
@@ -297,6 +343,7 @@ declare function cn(...inputs: ClassValue[]): string;
|
|
|
297
343
|
declare function normalizeBlogBasePath(basePath?: string): string;
|
|
298
344
|
declare function buildBlogPath(basePath: string | undefined, slug?: string): string;
|
|
299
345
|
declare function buildAuthorPath(basePath: string | undefined, authorSlug: string): string;
|
|
346
|
+
declare function buildSeriesPath(basePath: string | undefined, seriesSlug: string): string;
|
|
300
347
|
declare function getPathPrefixFromBlogUrl(blogUrl: string): string;
|
|
301
348
|
|
|
302
349
|
/**
|
|
@@ -397,6 +444,14 @@ declare function getArticlePrimaryTopic(article: PublishedArticle): PublishedTop
|
|
|
397
444
|
declare function getAllTopics(articles: PublishedArticle[]): PublishedTopic[];
|
|
398
445
|
declare function getTopicArchive(articles: PublishedArticle[], topicSlug: string): TopicArchive | null;
|
|
399
446
|
|
|
447
|
+
interface SeriesArchive {
|
|
448
|
+
series: PublishedSeriesContext;
|
|
449
|
+
articles: PublishedArticle[];
|
|
450
|
+
}
|
|
451
|
+
declare function getAllSeries(articles: PublishedArticle[]): PublishedSeriesContext[];
|
|
452
|
+
declare function getSeriesArchive(articles: PublishedArticle[], seriesSlug: string): SeriesArchive | null;
|
|
453
|
+
declare function getArticleSeriesNavigation(article: PublishedArticle): PublishedSeriesContext | null;
|
|
454
|
+
|
|
400
455
|
interface BlogTopicsIndexPageProps {
|
|
401
456
|
articles: PublishedArticle[];
|
|
402
457
|
basePath?: string;
|
|
@@ -415,6 +470,31 @@ interface BlogTopicArchivePageProps {
|
|
|
415
470
|
declare function BlogTopicsIndexPage({ articles, basePath, title, description, className, theme, }: BlogTopicsIndexPageProps): react_jsx_runtime.JSX.Element;
|
|
416
471
|
declare function BlogTopicArchivePage({ articles, topicSlug, basePath, className, theme, }: BlogTopicArchivePageProps): react_jsx_runtime.JSX.Element;
|
|
417
472
|
|
|
473
|
+
interface BlogSeriesIndexPageProps {
|
|
474
|
+
articles: PublishedArticle[];
|
|
475
|
+
basePath?: string;
|
|
476
|
+
title?: string;
|
|
477
|
+
description?: string;
|
|
478
|
+
className?: string;
|
|
479
|
+
theme?: BlogTheme;
|
|
480
|
+
}
|
|
481
|
+
interface BlogSeriesArchivePageProps {
|
|
482
|
+
articles: PublishedArticle[];
|
|
483
|
+
seriesSlug: string;
|
|
484
|
+
basePath?: string;
|
|
485
|
+
className?: string;
|
|
486
|
+
theme?: BlogTheme;
|
|
487
|
+
}
|
|
488
|
+
declare function BlogSeriesIndexPage({ articles, basePath, title, description, className, theme, }: BlogSeriesIndexPageProps): react_jsx_runtime.JSX.Element;
|
|
489
|
+
declare function BlogSeriesArchivePage({ articles, seriesSlug, basePath, className, theme, }: BlogSeriesArchivePageProps): react_jsx_runtime.JSX.Element;
|
|
490
|
+
|
|
491
|
+
interface SeriesNavigationProps {
|
|
492
|
+
article: PublishedArticle;
|
|
493
|
+
basePath?: string;
|
|
494
|
+
className?: string;
|
|
495
|
+
}
|
|
496
|
+
declare function SeriesNavigation({ article, basePath, className, }: SeriesNavigationProps): react_jsx_runtime.JSX.Element | null;
|
|
497
|
+
|
|
418
498
|
interface BlogAuthorsIndexPageProps {
|
|
419
499
|
articles: PublishedArticle[];
|
|
420
500
|
basePath?: string;
|
|
@@ -2203,4 +2283,4 @@ declare function OPTIONS(request: NextRequest): Promise<NextResponse>;
|
|
|
2203
2283
|
|
|
2204
2284
|
declare const PACKAGE_VERSION: string;
|
|
2205
2285
|
|
|
2206
|
-
export { ApiKeyAuth, type AuthConfig, type AuthResult, type AuthorArchive, type AuthorArchiveOptions, BLOG_PLATFORM_SCHEMA_VERSION, BLOG_PLATFORM_TABLE_NAMES, ArticlePage as BlogArticlePage, AuthorPage as BlogAuthorPage, BlogAuthorsIndexPage, BlogHomePage, type BlogPlatformConfig, type BlogPlatformSchemaCheckResult, BlogPlatformSchemaError, type BlogPlatformStorage, type BlogPlatformTableName, type BlogPostingSchema, type BlogTheme, BlogTopicArchivePage, BlogTopicsIndexPage, type BreadcrumbListSchema, Button, CanonicalUrlOptions, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, DrizzleStorage, EnvAuth, type GeneratedMetadata, InMemoryStorage, type LinkTag, type MetaTag, type MetadataOptions, NEWSLETTER_SUCCESS_MESSAGE, NewsletterSignup, type NewsletterSignupProps, NoAuth, type OrganizationSchema, PACKAGE_VERSION, Pagination$1 as Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PersonSchema, PublishResult, PublishedArticle, PublishedAuthor, PublishedNewsletterSettings, PublishedSite, PublishedTopic, type RateLimitConfig, type RateLimitResult, Pagination as ShadcnPagination, StructuredDataError, type StructuredDataOptions, type TopicArchive, UninitializedAuth, type WebSiteSchema, autoConfigureRateLimit, blogPlatformDrizzleSchema, bpArticles, bpMetadata, bpOperations, buildAuthorPath, buildBlogPath, buttonVariants, checkDrizzleAdapterSchema, checkRateLimit, cn, POST as configHandler, OPTIONS$1 as configOptionsHandler, configureRateLimit, createRateLimitErrorResponse, createStructuredDataScript, createTokenFingerprint, enforceRateLimit, ensureDrizzleAdapterSchema, extractKeywordsFromArticle, extractTableOfContents, extractTokenFromHeader, formatArticleDateMeta, generateArticleMetadata, generateArticleStructuredData, generateAuthorPageMetadata, generateAuthorStructuredData, generateBlogHomeMetadata, generateBlogHomeStructuredData, generateBreadcrumbStructuredData, generateCompleteArticleStructuredData, generateOrganizationStructuredData, generatePaginationMetadata, generateSiteMetadata, generateWebSiteStructuredData, getAllTopics, getArticlePrimaryTopic, getAuthConfig, getAuthorArchive, getAuthorsFromArticles, getBlogThemeStyle, getDrizzleAdapterSql, getPathPrefixFromBlogUrl, getRateLimitHeaders, getStorage, getTopicArchive, GET$1 as indexNowKeyRoute, initBlogPlatform, initBlogPlatformDev, initBlogPlatformOnce, initBlogPlatformProd, initEnvAuth, loadAuthorArchive, metadataToHtml, normalizeBlogBasePath, POST$2 as publishHandler, safeGenerateArticleStructuredData, setAuthConfig, setStorage, shouldSkipAuth, GET as slugExistsHandler, OPTIONS as slugExistsOptionsHandler, structuredDataToJsonLd, POST$1 as unpublishHandler, usePagination, validateMetadata, validateStructuredData, GET$2 as versionHandler };
|
|
2286
|
+
export { ApiKeyAuth, type AuthConfig, type AuthResult, type AuthorArchive, type AuthorArchiveOptions, BLOG_PLATFORM_SCHEMA_VERSION, BLOG_PLATFORM_TABLE_NAMES, ArticlePage as BlogArticlePage, AuthorPage as BlogAuthorPage, BlogAuthorsIndexPage, BlogHomePage, type BlogPlatformConfig, type BlogPlatformSchemaCheckResult, BlogPlatformSchemaError, type BlogPlatformStorage, type BlogPlatformTableName, type BlogPostingSchema, BlogSeriesArchivePage, BlogSeriesArchiveRoutePage, BlogSeriesIndexPage, BlogSeriesPage, type BlogTheme, BlogTopicArchivePage, BlogTopicsIndexPage, type BreadcrumbListSchema, Button, CanonicalUrlOptions, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, DrizzleStorage, EnvAuth, type GeneratedMetadata, InMemoryStorage, type LinkTag, type MetaTag, type MetadataOptions, NEWSLETTER_SUCCESS_MESSAGE, NewsletterSignup, type NewsletterSignupProps, NoAuth, type OrganizationSchema, PACKAGE_VERSION, Pagination$1 as Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PersonSchema, PublishResult, PublishedArticle, PublishedAuthor, PublishedNewsletterSettings, PublishedSite, PublishedTopic, type RateLimitConfig, type RateLimitResult, type SeriesArchive, SeriesNavigation, Pagination as ShadcnPagination, StructuredDataError, type StructuredDataOptions, type TopicArchive, UninitializedAuth, type WebSiteSchema, autoConfigureRateLimit, blogPlatformDrizzleSchema, bpArticles, bpMetadata, bpOperations, buildAuthorPath, buildBlogPath, buildSeriesPath, buttonVariants, checkDrizzleAdapterSchema, checkRateLimit, cn, POST as configHandler, OPTIONS$1 as configOptionsHandler, configureRateLimit, createRateLimitErrorResponse, createStructuredDataScript, createTokenFingerprint, enforceRateLimit, ensureDrizzleAdapterSchema, extractKeywordsFromArticle, extractTableOfContents, extractTokenFromHeader, formatArticleDateMeta, generateArticleMetadata, generateArticleStructuredData, generateAuthorPageMetadata, generateAuthorStructuredData, generateBlogHomeMetadata, generateBlogHomeStructuredData, generateBreadcrumbStructuredData, generateCompleteArticleStructuredData, generateOrganizationStructuredData, generatePaginationMetadata, generateSeriesArchiveMetadata, generateSeriesIndexMetadata, generateSiteMetadata, generateWebSiteStructuredData, getAllSeries, getAllTopics, getArticlePrimaryTopic, getArticleSeriesNavigation, getAuthConfig, getAuthorArchive, getAuthorsFromArticles, getBlogThemeStyle, getDrizzleAdapterSql, getPathPrefixFromBlogUrl, getRateLimitHeaders, getSeriesArchive, getStorage, getTopicArchive, GET$1 as indexNowKeyRoute, initBlogPlatform, initBlogPlatformDev, initBlogPlatformOnce, initBlogPlatformProd, initEnvAuth, loadAuthorArchive, metadataToHtml, normalizeBlogBasePath, POST$2 as publishHandler, safeGenerateArticleStructuredData, setAuthConfig, setStorage, shouldSkipAuth, GET as slugExistsHandler, OPTIONS as slugExistsOptionsHandler, structuredDataToJsonLd, POST$1 as unpublishHandler, usePagination, validateMetadata, validateStructuredData, GET$2 as versionHandler };
|