@riverbankcms/sdk 0.6.0 → 0.7.0
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/README.md +239 -0
- package/dist/cli/index.js +22 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/client/client.js +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/client.mjs +1 -1
- package/dist/client/client.mjs.map +1 -1
- package/dist/server/{Layout-BClXUTsd.d.mts → Layout-B7cvis7r.d.mts} +3 -3
- package/dist/server/{Layout-UXGjXv8M.d.ts → Layout-wBtJLTVX.d.ts} +3 -3
- package/dist/server/{chunk-Z5ZA6Q4D.mjs → chunk-74XUVNOO.mjs} +5 -3
- package/dist/server/chunk-74XUVNOO.mjs.map +1 -0
- package/dist/server/{chunk-PHS2KWJX.js → chunk-7BVRA5MY.js} +7 -52
- package/dist/server/chunk-7BVRA5MY.js.map +1 -0
- package/dist/server/{chunk-SQMGHEJM.mjs → chunk-7FIJSGHU.mjs} +2 -2
- package/dist/server/{chunk-SQMGHEJM.mjs.map → chunk-7FIJSGHU.mjs.map} +1 -1
- package/dist/server/chunk-ARNCLSQT.mjs +52 -0
- package/dist/server/chunk-ARNCLSQT.mjs.map +1 -0
- package/dist/server/chunk-BNQV3PXP.js +69 -0
- package/dist/server/chunk-BNQV3PXP.js.map +1 -0
- package/dist/server/{chunk-SSS7CCRR.js → chunk-EIVISR62.js} +15 -57
- package/dist/server/chunk-EIVISR62.js.map +1 -0
- package/dist/server/{chunk-I2D7KOEA.js → chunk-JWRNMNWI.js} +5 -3
- package/dist/server/chunk-JWRNMNWI.js.map +1 -0
- package/dist/server/{chunk-EOWGKCUZ.js → chunk-P7UVAMK6.js} +2 -2
- package/dist/server/{chunk-EOWGKCUZ.js.map → chunk-P7UVAMK6.js.map} +1 -1
- package/dist/server/{chunk-2HXHFSMI.mjs → chunk-RBJFXNDM.mjs} +6 -51
- package/dist/server/chunk-RBJFXNDM.mjs.map +1 -0
- package/dist/server/chunk-SWYWZT3L.mjs +69 -0
- package/dist/server/chunk-SWYWZT3L.mjs.map +1 -0
- package/dist/server/chunk-T26N3P26.js +52 -0
- package/dist/server/chunk-T26N3P26.js.map +1 -0
- package/dist/server/{chunk-PMHLZ3FW.mjs → chunk-YXA4GAAQ.mjs} +15 -57
- package/dist/server/chunk-YXA4GAAQ.mjs.map +1 -0
- package/dist/server/{components-DppHY5oD.d.ts → components-CICSJyp_.d.ts} +1 -1
- package/dist/server/{components-BmaJxgCV.d.mts → components-CMMwDXTW.d.mts} +1 -1
- package/dist/server/components.d.mts +2 -2
- package/dist/server/components.d.ts +2 -2
- package/dist/server/components.js +5 -3
- package/dist/server/components.js.map +1 -1
- package/dist/server/components.mjs +5 -3
- package/dist/server/index-BTwWvSBu.d.ts +130 -0
- package/dist/server/index-DI_qlYx3.d.mts +130 -0
- package/dist/server/index.js +2 -2
- package/dist/server/index.mjs +1 -1
- package/dist/server/{loadContent-BS-3wesN.d.mts → loadContent-C-YYUKQa.d.mts} +10 -2
- package/dist/server/{loadContent-Buvmudee.d.ts → loadContent-DmgpFcFC.d.ts} +10 -2
- package/dist/server/metadata.d.mts +8 -135
- package/dist/server/metadata.d.ts +8 -135
- package/dist/server/metadata.js +5 -65
- package/dist/server/metadata.js.map +1 -1
- package/dist/server/metadata.mjs +4 -64
- package/dist/server/metadata.mjs.map +1 -1
- package/dist/server/navigation.d.mts +80 -145
- package/dist/server/navigation.d.ts +80 -145
- package/dist/server/navigation.js +2 -10
- package/dist/server/navigation.js.map +1 -1
- package/dist/server/navigation.mjs +7 -15
- package/dist/server/next.d.mts +274 -0
- package/dist/server/next.d.ts +274 -0
- package/dist/server/next.js +150 -0
- package/dist/server/next.js.map +1 -0
- package/dist/server/next.mjs +150 -0
- package/dist/server/next.mjs.map +1 -0
- package/dist/server/rendering/server.d.mts +1 -1
- package/dist/server/rendering/server.d.ts +1 -1
- package/dist/server/rendering/server.js +5 -3
- package/dist/server/rendering/server.js.map +1 -1
- package/dist/server/rendering/server.mjs +5 -3
- package/dist/server/rendering.d.mts +4 -4
- package/dist/server/rendering.d.ts +4 -4
- package/dist/server/rendering.js +6 -4
- package/dist/server/rendering.js.map +1 -1
- package/dist/server/rendering.mjs +6 -4
- package/dist/server/server.d.mts +1 -1
- package/dist/server/server.d.ts +1 -1
- package/dist/server/server.js +3 -3
- package/dist/server/server.mjs +2 -2
- package/package.json +13 -1
- package/dist/server/chunk-2HXHFSMI.mjs.map +0 -1
- package/dist/server/chunk-I2D7KOEA.js.map +0 -1
- package/dist/server/chunk-PHS2KWJX.js.map +0 -1
- package/dist/server/chunk-PMHLZ3FW.mjs.map +0 -1
- package/dist/server/chunk-SSS7CCRR.js.map +0 -1
- package/dist/server/chunk-Z5ZA6Q4D.mjs.map +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { a as LoadPageResult } from './loadPage-DP3nrHBi.js';
|
|
2
|
+
import { S as SiteResponse } from './types-BvcJU7zk.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Metadata generation helper for Next.js pages
|
|
6
|
+
*
|
|
7
|
+
* Generates SEO-optimized metadata from Builder page data for use in
|
|
8
|
+
* Next.js generateMetadata() functions.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Next.js Metadata type
|
|
13
|
+
* Simplified version to avoid requiring Next.js as a dependency
|
|
14
|
+
*/
|
|
15
|
+
type Metadata = {
|
|
16
|
+
title?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
alternates?: {
|
|
19
|
+
canonical?: string;
|
|
20
|
+
};
|
|
21
|
+
openGraph?: {
|
|
22
|
+
title?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
url?: string;
|
|
25
|
+
siteName?: string;
|
|
26
|
+
type?: string;
|
|
27
|
+
images?: Array<{
|
|
28
|
+
url: string;
|
|
29
|
+
alt?: string;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
twitter?: {
|
|
33
|
+
card?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
images?: string[];
|
|
37
|
+
};
|
|
38
|
+
robots?: {
|
|
39
|
+
index?: boolean;
|
|
40
|
+
follow?: boolean;
|
|
41
|
+
};
|
|
42
|
+
verification?: {
|
|
43
|
+
google?: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
type PageMetadataInput = {
|
|
47
|
+
/**
|
|
48
|
+
* Page data from loadPage() or custom page object
|
|
49
|
+
*/
|
|
50
|
+
page: LoadPageResult['page'] | {
|
|
51
|
+
name: string;
|
|
52
|
+
purpose?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Site data from client.getSite()
|
|
56
|
+
*/
|
|
57
|
+
site: SiteResponse['site'];
|
|
58
|
+
/**
|
|
59
|
+
* Current URL path (e.g., '/about', '/blog/post-1')
|
|
60
|
+
*/
|
|
61
|
+
path: string;
|
|
62
|
+
/**
|
|
63
|
+
* Full site URL for canonical and OG URLs
|
|
64
|
+
* Example: 'https://example.com'
|
|
65
|
+
*/
|
|
66
|
+
siteUrl: string;
|
|
67
|
+
/**
|
|
68
|
+
* Optional custom metadata overrides
|
|
69
|
+
*/
|
|
70
|
+
overrides?: {
|
|
71
|
+
title?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
ogImage?: string;
|
|
74
|
+
canonicalUrl?: string;
|
|
75
|
+
robots?: {
|
|
76
|
+
index?: boolean;
|
|
77
|
+
follow?: boolean;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Optional Google site verification token
|
|
82
|
+
*/
|
|
83
|
+
googleSiteVerification?: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Generate Next.js Metadata object from Builder page data
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
|
|
91
|
+
* import { loadPage } from '@riverbankcms/sdk';
|
|
92
|
+
*
|
|
93
|
+
* export async function generateMetadata({ params }) {
|
|
94
|
+
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
95
|
+
* const siteData = await client.getSite({ id: siteId });
|
|
96
|
+
*
|
|
97
|
+
* return generatePageMetadata({
|
|
98
|
+
* page: pageData.page,
|
|
99
|
+
* site: siteData.site,
|
|
100
|
+
* path: params.slug,
|
|
101
|
+
* siteUrl: 'https://example.com',
|
|
102
|
+
* });
|
|
103
|
+
* }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
declare function generatePageMetadata(input: PageMetadataInput): Metadata;
|
|
107
|
+
/**
|
|
108
|
+
* Generate metadata for preview/staging environments
|
|
109
|
+
*
|
|
110
|
+
* This helper adds noindex/nofollow robots tags to prevent search engines
|
|
111
|
+
* from indexing preview or staging URLs.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```tsx
|
|
115
|
+
* export async function generateMetadata({ params }) {
|
|
116
|
+
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
117
|
+
* const isPreview = process.env.VERCEL_ENV !== 'production';
|
|
118
|
+
*
|
|
119
|
+
* return generatePreviewMetadata({
|
|
120
|
+
* page: pageData.page,
|
|
121
|
+
* site: siteData.site,
|
|
122
|
+
* path: params.slug,
|
|
123
|
+
* siteUrl: 'https://example.com',
|
|
124
|
+
* });
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
declare function generatePreviewMetadata(input: PageMetadataInput): Metadata;
|
|
129
|
+
|
|
130
|
+
export { type Metadata as M, type PageMetadataInput as P, generatePreviewMetadata as a, generatePageMetadata as g };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { a as LoadPageResult } from './loadPage-B8mQUUSo.mjs';
|
|
2
|
+
import { S as SiteResponse } from './types-1cLz0vnq.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Metadata generation helper for Next.js pages
|
|
6
|
+
*
|
|
7
|
+
* Generates SEO-optimized metadata from Builder page data for use in
|
|
8
|
+
* Next.js generateMetadata() functions.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Next.js Metadata type
|
|
13
|
+
* Simplified version to avoid requiring Next.js as a dependency
|
|
14
|
+
*/
|
|
15
|
+
type Metadata = {
|
|
16
|
+
title?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
alternates?: {
|
|
19
|
+
canonical?: string;
|
|
20
|
+
};
|
|
21
|
+
openGraph?: {
|
|
22
|
+
title?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
url?: string;
|
|
25
|
+
siteName?: string;
|
|
26
|
+
type?: string;
|
|
27
|
+
images?: Array<{
|
|
28
|
+
url: string;
|
|
29
|
+
alt?: string;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
twitter?: {
|
|
33
|
+
card?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
images?: string[];
|
|
37
|
+
};
|
|
38
|
+
robots?: {
|
|
39
|
+
index?: boolean;
|
|
40
|
+
follow?: boolean;
|
|
41
|
+
};
|
|
42
|
+
verification?: {
|
|
43
|
+
google?: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
type PageMetadataInput = {
|
|
47
|
+
/**
|
|
48
|
+
* Page data from loadPage() or custom page object
|
|
49
|
+
*/
|
|
50
|
+
page: LoadPageResult['page'] | {
|
|
51
|
+
name: string;
|
|
52
|
+
purpose?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Site data from client.getSite()
|
|
56
|
+
*/
|
|
57
|
+
site: SiteResponse['site'];
|
|
58
|
+
/**
|
|
59
|
+
* Current URL path (e.g., '/about', '/blog/post-1')
|
|
60
|
+
*/
|
|
61
|
+
path: string;
|
|
62
|
+
/**
|
|
63
|
+
* Full site URL for canonical and OG URLs
|
|
64
|
+
* Example: 'https://example.com'
|
|
65
|
+
*/
|
|
66
|
+
siteUrl: string;
|
|
67
|
+
/**
|
|
68
|
+
* Optional custom metadata overrides
|
|
69
|
+
*/
|
|
70
|
+
overrides?: {
|
|
71
|
+
title?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
ogImage?: string;
|
|
74
|
+
canonicalUrl?: string;
|
|
75
|
+
robots?: {
|
|
76
|
+
index?: boolean;
|
|
77
|
+
follow?: boolean;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Optional Google site verification token
|
|
82
|
+
*/
|
|
83
|
+
googleSiteVerification?: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Generate Next.js Metadata object from Builder page data
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
|
|
91
|
+
* import { loadPage } from '@riverbankcms/sdk';
|
|
92
|
+
*
|
|
93
|
+
* export async function generateMetadata({ params }) {
|
|
94
|
+
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
95
|
+
* const siteData = await client.getSite({ id: siteId });
|
|
96
|
+
*
|
|
97
|
+
* return generatePageMetadata({
|
|
98
|
+
* page: pageData.page,
|
|
99
|
+
* site: siteData.site,
|
|
100
|
+
* path: params.slug,
|
|
101
|
+
* siteUrl: 'https://example.com',
|
|
102
|
+
* });
|
|
103
|
+
* }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
declare function generatePageMetadata(input: PageMetadataInput): Metadata;
|
|
107
|
+
/**
|
|
108
|
+
* Generate metadata for preview/staging environments
|
|
109
|
+
*
|
|
110
|
+
* This helper adds noindex/nofollow robots tags to prevent search engines
|
|
111
|
+
* from indexing preview or staging URLs.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```tsx
|
|
115
|
+
* export async function generateMetadata({ params }) {
|
|
116
|
+
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
117
|
+
* const isPreview = process.env.VERCEL_ENV !== 'production';
|
|
118
|
+
*
|
|
119
|
+
* return generatePreviewMetadata({
|
|
120
|
+
* page: pageData.page,
|
|
121
|
+
* site: siteData.site,
|
|
122
|
+
* path: params.slug,
|
|
123
|
+
* siteUrl: 'https://example.com',
|
|
124
|
+
* });
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
declare function generatePreviewMetadata(input: PageMetadataInput): Metadata;
|
|
129
|
+
|
|
130
|
+
export { type Metadata as M, type PageMetadataInput as P, generatePreviewMetadata as a, generatePageMetadata as g };
|
package/dist/server/index.js
CHANGED
|
@@ -5,7 +5,7 @@ var _chunkGERCMTPQjs = require('./chunk-GERCMTPQ.js');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkP7UVAMK6js = require('./chunk-P7UVAMK6.js');
|
|
9
9
|
require('./chunk-DGUM43GV.js');
|
|
10
10
|
|
|
11
11
|
// ../api/src/aiPlayground.ts
|
|
@@ -101,5 +101,5 @@ var MultiPageUpdateResponse = _zod.z.object({
|
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
104
|
-
exports.API_ENDPOINTS =
|
|
104
|
+
exports.API_ENDPOINTS = _chunkP7UVAMK6js.API_ENDPOINTS; exports.SYSTEM_BLOCK_KINDS = _chunkGERCMTPQjs.SYSTEM_BLOCK_KINDS; exports.buildEndpointURL = _chunkP7UVAMK6js.buildEndpointURL; exports.createRiverbankClient = _chunkP7UVAMK6js.createRiverbankClient;
|
|
105
105
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { T as Theme } from './types-Dsu9wsUh.mjs';
|
|
2
2
|
import './schema-Z6-afHJG.mjs';
|
|
3
|
-
import { R as RiverbankClient } from './types-1cLz0vnq.mjs';
|
|
3
|
+
import { R as RiverbankClient, S as SiteResponse } from './types-1cLz0vnq.mjs';
|
|
4
4
|
import { P as PageProps } from './loadPage-B8mQUUSo.mjs';
|
|
5
5
|
import { R as ResolvedBlockData } from './types-CbagRQ_7.mjs';
|
|
6
6
|
|
|
@@ -11,6 +11,10 @@ import { R as ResolvedBlockData } from './types-CbagRQ_7.mjs';
|
|
|
11
11
|
* a page or a content entry.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Site data included in content results for metadata generation.
|
|
16
|
+
*/
|
|
17
|
+
type SiteData = SiteResponse['site'];
|
|
14
18
|
type LoadContentParams = {
|
|
15
19
|
client: RiverbankClient;
|
|
16
20
|
siteId: string;
|
|
@@ -56,6 +60,8 @@ type PageContentResult = {
|
|
|
56
60
|
siteId: string;
|
|
57
61
|
/** Pre-fetched block data for data loaders */
|
|
58
62
|
resolvedData: ResolvedBlockData;
|
|
63
|
+
/** Site data for metadata generation */
|
|
64
|
+
site: SiteData;
|
|
59
65
|
};
|
|
60
66
|
/**
|
|
61
67
|
* Result when path resolves to a content entry
|
|
@@ -76,6 +82,8 @@ type EntryContentResult = {
|
|
|
76
82
|
theme: Theme;
|
|
77
83
|
/** Site ID */
|
|
78
84
|
siteId: string;
|
|
85
|
+
/** Site data for metadata generation */
|
|
86
|
+
site: SiteData;
|
|
79
87
|
};
|
|
80
88
|
/**
|
|
81
89
|
* Discriminated union result from loadContent
|
|
@@ -150,4 +158,4 @@ declare function isEntryContent(result: LoadContentResult): result is EntryConte
|
|
|
150
158
|
*/
|
|
151
159
|
declare function loadContent(params: LoadContentParams): Promise<LoadContentResult>;
|
|
152
160
|
|
|
153
|
-
export { type ContentEntryData as C, type EntryContentResult as E, type LoadContentParams as L, type PageContentResult as P, isEntryContent as a, type LoadContentResult as b, isPageContent as i, loadContent as l };
|
|
161
|
+
export { type ContentEntryData as C, type EntryContentResult as E, type LoadContentParams as L, type PageContentResult as P, type SiteData as S, isEntryContent as a, type LoadContentResult as b, isPageContent as i, loadContent as l };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { T as Theme } from './types-CVykEqXN.js';
|
|
2
2
|
import './schema-Z6-afHJG.js';
|
|
3
|
-
import { R as RiverbankClient } from './types-BvcJU7zk.js';
|
|
3
|
+
import { R as RiverbankClient, S as SiteResponse } from './types-BvcJU7zk.js';
|
|
4
4
|
import { P as PageProps } from './loadPage-DP3nrHBi.js';
|
|
5
5
|
import { R as ResolvedBlockData } from './types-DuQCNVV0.js';
|
|
6
6
|
|
|
@@ -11,6 +11,10 @@ import { R as ResolvedBlockData } from './types-DuQCNVV0.js';
|
|
|
11
11
|
* a page or a content entry.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Site data included in content results for metadata generation.
|
|
16
|
+
*/
|
|
17
|
+
type SiteData = SiteResponse['site'];
|
|
14
18
|
type LoadContentParams = {
|
|
15
19
|
client: RiverbankClient;
|
|
16
20
|
siteId: string;
|
|
@@ -56,6 +60,8 @@ type PageContentResult = {
|
|
|
56
60
|
siteId: string;
|
|
57
61
|
/** Pre-fetched block data for data loaders */
|
|
58
62
|
resolvedData: ResolvedBlockData;
|
|
63
|
+
/** Site data for metadata generation */
|
|
64
|
+
site: SiteData;
|
|
59
65
|
};
|
|
60
66
|
/**
|
|
61
67
|
* Result when path resolves to a content entry
|
|
@@ -76,6 +82,8 @@ type EntryContentResult = {
|
|
|
76
82
|
theme: Theme;
|
|
77
83
|
/** Site ID */
|
|
78
84
|
siteId: string;
|
|
85
|
+
/** Site data for metadata generation */
|
|
86
|
+
site: SiteData;
|
|
79
87
|
};
|
|
80
88
|
/**
|
|
81
89
|
* Discriminated union result from loadContent
|
|
@@ -150,4 +158,4 @@ declare function isEntryContent(result: LoadContentResult): result is EntryConte
|
|
|
150
158
|
*/
|
|
151
159
|
declare function loadContent(params: LoadContentParams): Promise<LoadContentResult>;
|
|
152
160
|
|
|
153
|
-
export { type ContentEntryData as C, type EntryContentResult as E, type LoadContentParams as L, type PageContentResult as P, isEntryContent as a, type LoadContentResult as b, isPageContent as i, loadContent as l };
|
|
161
|
+
export { type ContentEntryData as C, type EntryContentResult as E, type LoadContentParams as L, type PageContentResult as P, type SiteData as S, isEntryContent as a, type LoadContentResult as b, isPageContent as i, loadContent as l };
|
|
@@ -1,142 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import '
|
|
4
|
-
import 'react';
|
|
5
|
-
import './schema-Z6-afHJG.mjs';
|
|
6
|
-
import 'zod';
|
|
7
|
-
import './core-DsNWrl3o.mjs';
|
|
1
|
+
export { P as PageMetadataInput, g as generatePageMetadata, a as generatePreviewMetadata } from './index-DI_qlYx3.mjs';
|
|
2
|
+
import './loadPage-B8mQUUSo.mjs';
|
|
3
|
+
import './types-1cLz0vnq.mjs';
|
|
8
4
|
import './types-Dsu9wsUh.mjs';
|
|
9
5
|
import '@riverbankcms/ai';
|
|
6
|
+
import './schema-Z6-afHJG.mjs';
|
|
7
|
+
import 'zod';
|
|
10
8
|
import './link-DjxLyC82.mjs';
|
|
11
9
|
import '@riverbankcms/media-storage-supabase';
|
|
12
10
|
import '@riverbankcms/db';
|
|
11
|
+
import 'react/jsx-runtime';
|
|
12
|
+
import 'react';
|
|
13
|
+
import './core-DsNWrl3o.mjs';
|
|
13
14
|
import './types-CbagRQ_7.mjs';
|
|
14
15
|
import './blockKinds-B6MWzNWp.mjs';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Metadata generation helper for Next.js pages
|
|
18
|
-
*
|
|
19
|
-
* Generates SEO-optimized metadata from Builder page data for use in
|
|
20
|
-
* Next.js generateMetadata() functions.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Next.js Metadata type
|
|
25
|
-
* Simplified version to avoid requiring Next.js as a dependency
|
|
26
|
-
*/
|
|
27
|
-
type Metadata = {
|
|
28
|
-
title?: string;
|
|
29
|
-
description?: string;
|
|
30
|
-
alternates?: {
|
|
31
|
-
canonical?: string;
|
|
32
|
-
};
|
|
33
|
-
openGraph?: {
|
|
34
|
-
title?: string;
|
|
35
|
-
description?: string;
|
|
36
|
-
url?: string;
|
|
37
|
-
siteName?: string;
|
|
38
|
-
type?: string;
|
|
39
|
-
images?: Array<{
|
|
40
|
-
url: string;
|
|
41
|
-
alt?: string;
|
|
42
|
-
}>;
|
|
43
|
-
};
|
|
44
|
-
twitter?: {
|
|
45
|
-
card?: string;
|
|
46
|
-
title?: string;
|
|
47
|
-
description?: string;
|
|
48
|
-
images?: string[];
|
|
49
|
-
};
|
|
50
|
-
robots?: {
|
|
51
|
-
index?: boolean;
|
|
52
|
-
follow?: boolean;
|
|
53
|
-
};
|
|
54
|
-
verification?: {
|
|
55
|
-
google?: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
type PageMetadataInput = {
|
|
59
|
-
/**
|
|
60
|
-
* Page data from loadPage() or custom page object
|
|
61
|
-
*/
|
|
62
|
-
page: LoadPageResult['page'] | {
|
|
63
|
-
name: string;
|
|
64
|
-
purpose?: string;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Site data from client.getSite()
|
|
68
|
-
*/
|
|
69
|
-
site: SiteResponse['site'];
|
|
70
|
-
/**
|
|
71
|
-
* Current URL path (e.g., '/about', '/blog/post-1')
|
|
72
|
-
*/
|
|
73
|
-
path: string;
|
|
74
|
-
/**
|
|
75
|
-
* Full site URL for canonical and OG URLs
|
|
76
|
-
* Example: 'https://example.com'
|
|
77
|
-
*/
|
|
78
|
-
siteUrl: string;
|
|
79
|
-
/**
|
|
80
|
-
* Optional custom metadata overrides
|
|
81
|
-
*/
|
|
82
|
-
overrides?: {
|
|
83
|
-
title?: string;
|
|
84
|
-
description?: string;
|
|
85
|
-
ogImage?: string;
|
|
86
|
-
canonicalUrl?: string;
|
|
87
|
-
robots?: {
|
|
88
|
-
index?: boolean;
|
|
89
|
-
follow?: boolean;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Optional Google site verification token
|
|
94
|
-
*/
|
|
95
|
-
googleSiteVerification?: string;
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* Generate Next.js Metadata object from Builder page data
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```tsx
|
|
102
|
-
* import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
|
|
103
|
-
* import { loadPage } from '@riverbankcms/sdk';
|
|
104
|
-
*
|
|
105
|
-
* export async function generateMetadata({ params }) {
|
|
106
|
-
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
107
|
-
* const siteData = await client.getSite({ id: siteId });
|
|
108
|
-
*
|
|
109
|
-
* return generatePageMetadata({
|
|
110
|
-
* page: pageData.page,
|
|
111
|
-
* site: siteData.site,
|
|
112
|
-
* path: params.slug,
|
|
113
|
-
* siteUrl: 'https://example.com',
|
|
114
|
-
* });
|
|
115
|
-
* }
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
declare function generatePageMetadata(input: PageMetadataInput): Metadata;
|
|
119
|
-
/**
|
|
120
|
-
* Generate metadata for preview/staging environments
|
|
121
|
-
*
|
|
122
|
-
* This helper adds noindex/nofollow robots tags to prevent search engines
|
|
123
|
-
* from indexing preview or staging URLs.
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```tsx
|
|
127
|
-
* export async function generateMetadata({ params }) {
|
|
128
|
-
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
129
|
-
* const isPreview = process.env.VERCEL_ENV !== 'production';
|
|
130
|
-
*
|
|
131
|
-
* return generatePreviewMetadata({
|
|
132
|
-
* page: pageData.page,
|
|
133
|
-
* site: siteData.site,
|
|
134
|
-
* path: params.slug,
|
|
135
|
-
* siteUrl: 'https://example.com',
|
|
136
|
-
* });
|
|
137
|
-
* }
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
declare function generatePreviewMetadata(input: PageMetadataInput): Metadata;
|
|
141
|
-
|
|
142
|
-
export { type PageMetadataInput, generatePageMetadata, generatePreviewMetadata };
|
|
@@ -1,142 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import '
|
|
4
|
-
import 'react';
|
|
5
|
-
import './schema-Z6-afHJG.js';
|
|
6
|
-
import 'zod';
|
|
7
|
-
import './core-DsNWrl3o.js';
|
|
1
|
+
export { P as PageMetadataInput, g as generatePageMetadata, a as generatePreviewMetadata } from './index-BTwWvSBu.js';
|
|
2
|
+
import './loadPage-DP3nrHBi.js';
|
|
3
|
+
import './types-BvcJU7zk.js';
|
|
8
4
|
import './types-CVykEqXN.js';
|
|
9
5
|
import '@riverbankcms/ai';
|
|
6
|
+
import './schema-Z6-afHJG.js';
|
|
7
|
+
import 'zod';
|
|
10
8
|
import './link-DjxLyC82.js';
|
|
11
9
|
import '@riverbankcms/media-storage-supabase';
|
|
12
10
|
import '@riverbankcms/db';
|
|
11
|
+
import 'react/jsx-runtime';
|
|
12
|
+
import 'react';
|
|
13
|
+
import './core-DsNWrl3o.js';
|
|
13
14
|
import './types-DuQCNVV0.js';
|
|
14
15
|
import './blockKinds-B6MWzNWp.js';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Metadata generation helper for Next.js pages
|
|
18
|
-
*
|
|
19
|
-
* Generates SEO-optimized metadata from Builder page data for use in
|
|
20
|
-
* Next.js generateMetadata() functions.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Next.js Metadata type
|
|
25
|
-
* Simplified version to avoid requiring Next.js as a dependency
|
|
26
|
-
*/
|
|
27
|
-
type Metadata = {
|
|
28
|
-
title?: string;
|
|
29
|
-
description?: string;
|
|
30
|
-
alternates?: {
|
|
31
|
-
canonical?: string;
|
|
32
|
-
};
|
|
33
|
-
openGraph?: {
|
|
34
|
-
title?: string;
|
|
35
|
-
description?: string;
|
|
36
|
-
url?: string;
|
|
37
|
-
siteName?: string;
|
|
38
|
-
type?: string;
|
|
39
|
-
images?: Array<{
|
|
40
|
-
url: string;
|
|
41
|
-
alt?: string;
|
|
42
|
-
}>;
|
|
43
|
-
};
|
|
44
|
-
twitter?: {
|
|
45
|
-
card?: string;
|
|
46
|
-
title?: string;
|
|
47
|
-
description?: string;
|
|
48
|
-
images?: string[];
|
|
49
|
-
};
|
|
50
|
-
robots?: {
|
|
51
|
-
index?: boolean;
|
|
52
|
-
follow?: boolean;
|
|
53
|
-
};
|
|
54
|
-
verification?: {
|
|
55
|
-
google?: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
type PageMetadataInput = {
|
|
59
|
-
/**
|
|
60
|
-
* Page data from loadPage() or custom page object
|
|
61
|
-
*/
|
|
62
|
-
page: LoadPageResult['page'] | {
|
|
63
|
-
name: string;
|
|
64
|
-
purpose?: string;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Site data from client.getSite()
|
|
68
|
-
*/
|
|
69
|
-
site: SiteResponse['site'];
|
|
70
|
-
/**
|
|
71
|
-
* Current URL path (e.g., '/about', '/blog/post-1')
|
|
72
|
-
*/
|
|
73
|
-
path: string;
|
|
74
|
-
/**
|
|
75
|
-
* Full site URL for canonical and OG URLs
|
|
76
|
-
* Example: 'https://example.com'
|
|
77
|
-
*/
|
|
78
|
-
siteUrl: string;
|
|
79
|
-
/**
|
|
80
|
-
* Optional custom metadata overrides
|
|
81
|
-
*/
|
|
82
|
-
overrides?: {
|
|
83
|
-
title?: string;
|
|
84
|
-
description?: string;
|
|
85
|
-
ogImage?: string;
|
|
86
|
-
canonicalUrl?: string;
|
|
87
|
-
robots?: {
|
|
88
|
-
index?: boolean;
|
|
89
|
-
follow?: boolean;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Optional Google site verification token
|
|
94
|
-
*/
|
|
95
|
-
googleSiteVerification?: string;
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* Generate Next.js Metadata object from Builder page data
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* ```tsx
|
|
102
|
-
* import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
|
|
103
|
-
* import { loadPage } from '@riverbankcms/sdk';
|
|
104
|
-
*
|
|
105
|
-
* export async function generateMetadata({ params }) {
|
|
106
|
-
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
107
|
-
* const siteData = await client.getSite({ id: siteId });
|
|
108
|
-
*
|
|
109
|
-
* return generatePageMetadata({
|
|
110
|
-
* page: pageData.page,
|
|
111
|
-
* site: siteData.site,
|
|
112
|
-
* path: params.slug,
|
|
113
|
-
* siteUrl: 'https://example.com',
|
|
114
|
-
* });
|
|
115
|
-
* }
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
declare function generatePageMetadata(input: PageMetadataInput): Metadata;
|
|
119
|
-
/**
|
|
120
|
-
* Generate metadata for preview/staging environments
|
|
121
|
-
*
|
|
122
|
-
* This helper adds noindex/nofollow robots tags to prevent search engines
|
|
123
|
-
* from indexing preview or staging URLs.
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```tsx
|
|
127
|
-
* export async function generateMetadata({ params }) {
|
|
128
|
-
* const pageData = await loadPage({ client, siteId, path: params.slug });
|
|
129
|
-
* const isPreview = process.env.VERCEL_ENV !== 'production';
|
|
130
|
-
*
|
|
131
|
-
* return generatePreviewMetadata({
|
|
132
|
-
* page: pageData.page,
|
|
133
|
-
* site: siteData.site,
|
|
134
|
-
* path: params.slug,
|
|
135
|
-
* siteUrl: 'https://example.com',
|
|
136
|
-
* });
|
|
137
|
-
* }
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
declare function generatePreviewMetadata(input: PageMetadataInput): Metadata;
|
|
141
|
-
|
|
142
|
-
export { type PageMetadataInput, generatePageMetadata, generatePreviewMetadata };
|