@mdwrk/structured-data 0.1.3

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 ADDED
@@ -0,0 +1,41 @@
1
+ # @mdwrk/structured-data
2
+
3
+ **Schema.org and JSON-LD helpers**
4
+
5
+ <p align="center">
6
+ <a href="https://github.com/groupsum/markdown_workspace/blob/master/packages/shared/structured-data/README.md"><img alt="Hits" src="https://visitor-badge.laobi.icu/badge?page_id=groupsum.markdown_workspace.packages_shared_structured_data_README&amp;left_text=hits" /></a>
7
+ <a href="https://www.npmjs.com/package/@mdwrk/structured-data"><img alt="Downloads" src="https://img.shields.io/npm/dm/%40mdwrk%2Fstructured-data?label=downloads" /></a>
8
+ <a href="../../../package.json"><img alt="Node" src="https://img.shields.io/badge/node-20.x%20%7C%2021.x%20%7C%2022.x-339933?logo=node.js&amp;logoColor=white" /></a>
9
+ <a href="../../../LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" /></a>
10
+ </p>
11
+
12
+ This package provides reusable Schema.org and JSON-LD builders for MdWrk apps, packages, public content, and discovery surfaces.
13
+
14
+ ## Why
15
+ Use it when you need structured-data output without rewriting low-level Schema.org node creation logic.
16
+
17
+ ## What
18
+ - Builders for WebPage, WebSite, FAQPage, SoftwareApplication, TechArticle, Product, Dataset, and more.
19
+ - Helpers for canonical ids and graph assembly.
20
+ - A shared discovery layer consumed heavily by the lander stack.
21
+
22
+ ## Installation
23
+ Node.js 20.x through 22.x, matching the workspace engine contract in the root package manifest.
24
+
25
+ ```bash
26
+ npm install @mdwrk/structured-data
27
+ ```
28
+
29
+ ## Usage
30
+ ```ts
31
+ import { faqPageSchema, jsonLdGraph, softwareApplicationNode } from "@mdwrk/structured-data";
32
+
33
+ const graph = jsonLdGraph([
34
+ softwareApplicationNode({ name: "MdWrk", url: "https://mdwrk.com" }),
35
+ faqPageSchema({ items: [{ question: "What is MdWrk?", answer: "A markdown workspace platform." }] }),
36
+ ]);
37
+ ```
38
+
39
+ ## Related
40
+ - [Packages index](../../README.md) - family and package navigation
41
+ - [Root README](../../../README.md) - repo overview
@@ -0,0 +1,29 @@
1
+ import type { AggregateRatingInput, ArticleInput, BreadcrumbListInput, DatasetInput, EventInput, FaqPageInput, HowToInput, ImageObjectInput, ItemListInput, JsonLd, OrganizationInput, ProductInput, ProfilePageInput, QaPageInput, ReviewInput, SoftwareApplicationInput, SoftwareSourceCodeInput, VideoObjectInput, WebPageInput, WebSiteInput } from "./types.js";
2
+ export declare function imageObjectSchema(input: ImageObjectInput): JsonLd;
3
+ export declare function webPageSchema(input: WebPageInput): JsonLd;
4
+ export declare function webSiteSchema(input: WebSiteInput): JsonLd;
5
+ export declare function organizationNode(input: OrganizationInput): JsonLd;
6
+ export declare function softwareApplicationNode(input: SoftwareApplicationInput): JsonLd;
7
+ export declare function webApplicationNode(input: SoftwareApplicationInput): JsonLd;
8
+ export declare function articleNode(input: ArticleInput): JsonLd;
9
+ export declare function techArticleNode(input: ArticleInput): JsonLd;
10
+ export declare function blogPostingNode(input: ArticleInput): JsonLd;
11
+ export declare function breadcrumbListSchema(input: BreadcrumbListInput): JsonLd;
12
+ export declare function faqPageSchema(input: FaqPageInput): JsonLd;
13
+ export declare function qaPageSchema(input: QaPageInput): JsonLd;
14
+ export declare function educationQaPageSchema(input: QaPageInput): JsonLd;
15
+ export declare function howToNode(input: HowToInput): JsonLd;
16
+ export declare function itemListNode(input: ItemListInput): JsonLd;
17
+ export declare function carouselSchema(input: ItemListInput): JsonLd;
18
+ export declare function courseListSchema(input: ItemListInput): JsonLd;
19
+ export declare function softwareSourceCodeNode(input: SoftwareSourceCodeInput): JsonLd;
20
+ export declare function productNode(input: ProductInput): JsonLd;
21
+ export declare function merchantListingNode(input: ProductInput): JsonLd;
22
+ export declare function productSnippetNode(input: ProductInput): JsonLd;
23
+ export declare function datasetNode(input: DatasetInput): JsonLd;
24
+ export declare function eventNode(input: EventInput): JsonLd;
25
+ export declare function videoObjectNode(input: VideoObjectInput): JsonLd;
26
+ export declare function profilePageNode(input: ProfilePageInput): JsonLd;
27
+ export declare function aggregateRatingNode(input: AggregateRatingInput): JsonLd;
28
+ export declare function reviewNode(input: ReviewInput): JsonLd;
29
+ //# sourceMappingURL=builders-primary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders-primary.d.ts","sourceRoot":"","sources":["../src/builders-primary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAYjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAczD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAUjE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAY/E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAK1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAcvD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAWvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAazD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAavD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAkBnD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAazD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAW7E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAcvD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAavD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAcnD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAY/D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAS/D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAQvE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAWrD"}
@@ -0,0 +1,284 @@
1
+ import { imageValue, node, personOrOrganizationRef, requireText } from "./core.js";
2
+ export function imageObjectSchema(input) {
3
+ const contentUrl = input.contentUrl ?? input.url;
4
+ return node("ImageObject", {
5
+ "@id": input.id,
6
+ name: requireText(input.name, "name"),
7
+ description: input.description,
8
+ url: input.url ?? contentUrl,
9
+ contentUrl,
10
+ width: input.width,
11
+ height: input.height,
12
+ caption: input.caption,
13
+ });
14
+ }
15
+ export function webPageSchema(input) {
16
+ return node("WebPage", {
17
+ "@id": input.id,
18
+ name: requireText(input.name, "name"),
19
+ headline: input.name,
20
+ description: input.description,
21
+ url: input.url,
22
+ image: imageValue(input.image, imageObjectSchema),
23
+ mainEntity: input.mainEntity,
24
+ breadcrumb: input.breadcrumb,
25
+ isPartOf: input.isPartOf,
26
+ datePublished: input.datePublished,
27
+ dateModified: input.dateModified,
28
+ });
29
+ }
30
+ export function webSiteSchema(input) {
31
+ return node("WebSite", {
32
+ "@id": input.id,
33
+ name: requireText(input.name, "name"),
34
+ description: input.description,
35
+ url: input.url,
36
+ image: imageValue(input.image, imageObjectSchema),
37
+ publisher: input.publisher,
38
+ potentialAction: input.potentialAction,
39
+ });
40
+ }
41
+ export function organizationNode(input) {
42
+ return node("Organization", {
43
+ "@id": input.id,
44
+ name: requireText(input.name, "name"),
45
+ description: input.description,
46
+ url: input.url,
47
+ logo: imageValue(input.logo ?? input.image, imageObjectSchema),
48
+ image: imageValue(input.image, imageObjectSchema),
49
+ sameAs: input.sameAs,
50
+ });
51
+ }
52
+ export function softwareApplicationNode(input) {
53
+ return node("SoftwareApplication", {
54
+ "@id": input.id,
55
+ name: requireText(input.name, "name"),
56
+ description: input.description,
57
+ url: input.url,
58
+ image: imageValue(input.image, imageObjectSchema),
59
+ applicationCategory: input.applicationCategory,
60
+ operatingSystem: input.operatingSystem,
61
+ offers: input.offers,
62
+ softwareVersion: input.softwareVersion,
63
+ });
64
+ }
65
+ export function webApplicationNode(input) {
66
+ return {
67
+ ...softwareApplicationNode(input),
68
+ "@type": "WebApplication",
69
+ };
70
+ }
71
+ export function articleNode(input) {
72
+ return node("Article", {
73
+ "@id": input.id,
74
+ headline: requireText(input.headline ?? input.name, "headline"),
75
+ name: input.name,
76
+ description: input.description,
77
+ url: input.url,
78
+ image: imageValue(input.image, imageObjectSchema),
79
+ author: personOrOrganizationRef(input.author),
80
+ publisher: personOrOrganizationRef(input.publisher),
81
+ datePublished: input.datePublished,
82
+ dateModified: input.dateModified,
83
+ mainEntityOfPage: input.mainEntityOfPage ?? input.url,
84
+ });
85
+ }
86
+ export function techArticleNode(input) {
87
+ return { ...articleNode(input), "@type": "TechArticle" };
88
+ }
89
+ export function blogPostingNode(input) {
90
+ return { ...articleNode(input), "@type": "BlogPosting" };
91
+ }
92
+ export function breadcrumbListSchema(input) {
93
+ if (!input.items.length)
94
+ throw new Error("BreadcrumbList requires at least one item");
95
+ return node("BreadcrumbList", {
96
+ "@id": input.id,
97
+ itemListElement: input.items.map((item, index) => ({
98
+ "@type": "ListItem",
99
+ position: index + 1,
100
+ name: requireText(item.label, "breadcrumb label"),
101
+ item: requireText(item.href, "breadcrumb href"),
102
+ })),
103
+ });
104
+ }
105
+ export function faqPageSchema(input) {
106
+ if (!input.items.length)
107
+ throw new Error("FAQPage requires at least one question");
108
+ return node("FAQPage", {
109
+ "@id": input.id,
110
+ mainEntity: input.items.map((item) => ({
111
+ "@type": "Question",
112
+ name: requireText(item.question, "FAQ question"),
113
+ acceptedAnswer: {
114
+ "@type": "Answer",
115
+ text: requireText(item.answer, "FAQ answer"),
116
+ },
117
+ })),
118
+ });
119
+ }
120
+ export function qaPageSchema(input) {
121
+ return node("QAPage", {
122
+ "@id": input.id,
123
+ url: input.url,
124
+ mainEntity: {
125
+ "@type": "Question",
126
+ name: requireText(input.question, "QAPage question"),
127
+ acceptedAnswer: {
128
+ "@type": "Answer",
129
+ text: requireText(input.answer, "QAPage answer"),
130
+ },
131
+ },
132
+ });
133
+ }
134
+ export function educationQaPageSchema(input) {
135
+ return qaPageSchema(input);
136
+ }
137
+ export function howToNode(input) {
138
+ if (!input.steps.length)
139
+ throw new Error("HowTo requires at least one step");
140
+ return node("HowTo", {
141
+ "@id": input.id,
142
+ name: requireText(input.name, "name"),
143
+ description: input.description,
144
+ url: input.url,
145
+ image: imageValue(input.image, imageObjectSchema),
146
+ totalTime: input.totalTime,
147
+ step: input.steps.map((step, index) => ({
148
+ "@type": "HowToStep",
149
+ position: index + 1,
150
+ name: requireText(step.name, "HowTo step name"),
151
+ text: requireText(step.text, "HowTo step text"),
152
+ url: step.url,
153
+ image: imageValue(step.image, imageObjectSchema),
154
+ })),
155
+ });
156
+ }
157
+ export function itemListNode(input) {
158
+ if (!input.items.length)
159
+ throw new Error("ItemList requires at least one item");
160
+ return node("ItemList", {
161
+ "@id": input.id,
162
+ name: requireText(input.name, "name"),
163
+ itemListElement: input.items.map((item, index) => ({
164
+ "@type": "ListItem",
165
+ position: index + 1,
166
+ name: requireText(item.name, "ItemList item name"),
167
+ url: item.url,
168
+ item: item.item,
169
+ })),
170
+ });
171
+ }
172
+ export function carouselSchema(input) {
173
+ return itemListNode(input);
174
+ }
175
+ export function courseListSchema(input) {
176
+ return itemListNode(input);
177
+ }
178
+ export function softwareSourceCodeNode(input) {
179
+ return node("SoftwareSourceCode", {
180
+ "@id": input.id,
181
+ name: requireText(input.name, "name"),
182
+ description: input.description,
183
+ url: input.url,
184
+ image: imageValue(input.image, imageObjectSchema),
185
+ codeRepository: input.codeRepository,
186
+ programmingLanguage: input.programmingLanguage,
187
+ runtimePlatform: input.runtimePlatform,
188
+ });
189
+ }
190
+ export function productNode(input) {
191
+ return node("Product", {
192
+ "@id": input.id,
193
+ name: requireText(input.name, "name"),
194
+ description: input.description,
195
+ url: input.url,
196
+ image: imageValue(input.image, imageObjectSchema),
197
+ brand: input.brand,
198
+ sku: input.sku,
199
+ category: input.category,
200
+ offers: input.offers,
201
+ aggregateRating: input.aggregateRating,
202
+ review: input.review,
203
+ });
204
+ }
205
+ export function merchantListingNode(input) {
206
+ return productNode(input);
207
+ }
208
+ export function productSnippetNode(input) {
209
+ return productNode(input);
210
+ }
211
+ export function datasetNode(input) {
212
+ return node("Dataset", {
213
+ "@id": input.id,
214
+ name: requireText(input.name, "name"),
215
+ description: input.description,
216
+ url: input.url,
217
+ image: imageValue(input.image, imageObjectSchema),
218
+ creator: personOrOrganizationRef(input.creator),
219
+ distribution: input.distribution,
220
+ keywords: input.keywords,
221
+ datePublished: input.datePublished,
222
+ dateModified: input.dateModified,
223
+ });
224
+ }
225
+ export function eventNode(input) {
226
+ return node("Event", {
227
+ "@id": input.id,
228
+ name: requireText(input.name, "name"),
229
+ description: input.description,
230
+ url: input.url,
231
+ image: imageValue(input.image, imageObjectSchema),
232
+ startDate: requireText(input.startDate, "startDate"),
233
+ endDate: input.endDate,
234
+ eventStatus: input.eventStatus,
235
+ eventAttendanceMode: input.eventAttendanceMode,
236
+ location: input.location,
237
+ organizer: personOrOrganizationRef(input.organizer),
238
+ });
239
+ }
240
+ export function videoObjectNode(input) {
241
+ return node("VideoObject", {
242
+ "@id": input.id,
243
+ name: requireText(input.name, "name"),
244
+ description: input.description,
245
+ url: input.url,
246
+ thumbnailUrl: input.thumbnailUrl,
247
+ uploadDate: requireText(input.uploadDate, "uploadDate"),
248
+ duration: input.duration,
249
+ embedUrl: input.embedUrl,
250
+ contentUrl: input.contentUrl,
251
+ });
252
+ }
253
+ export function profilePageNode(input) {
254
+ return node("ProfilePage", {
255
+ "@id": input.id,
256
+ name: requireText(input.name, "name"),
257
+ description: input.description,
258
+ url: input.url,
259
+ image: imageValue(input.image, imageObjectSchema),
260
+ mainEntity: input.mainEntity,
261
+ });
262
+ }
263
+ export function aggregateRatingNode(input) {
264
+ return node("AggregateRating", {
265
+ ratingValue: input.ratingValue,
266
+ reviewCount: input.reviewCount,
267
+ ratingCount: input.ratingCount,
268
+ bestRating: input.bestRating,
269
+ worstRating: input.worstRating,
270
+ });
271
+ }
272
+ export function reviewNode(input) {
273
+ return node("Review", {
274
+ "@id": input.id,
275
+ name: requireText(input.name, "name"),
276
+ description: input.description,
277
+ url: input.url,
278
+ itemReviewed: input.itemReviewed,
279
+ reviewRating: input.reviewRating,
280
+ author: personOrOrganizationRef(input.author),
281
+ reviewBody: input.reviewBody,
282
+ });
283
+ }
284
+ //# sourceMappingURL=builders-primary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders-primary.js","sourceRoot":"","sources":["../src/builders-primary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { AggregateRatingInput, BookInput, ClaimReviewInput, CourseInput, CourseInstanceInput, DiscussionForumPostingInput, JobPostingInput, JsonLd, LocalBusinessInput, LoyaltyProgramInput, MathSolverInput, MovieInput, PaywalledContentInput, PolicyInput, ProductGroupInput, RecipeInput, SpeakableInput, StructuredDataBreadcrumbItem, StructuredDataFaqItem, StructuredDataPage, StructuredDataSite, VacationRentalInput, VehicleInput } from "./types.js";
2
+ export declare function courseNode(input: CourseInput): JsonLd;
3
+ export declare function courseInstanceNode(input: CourseInstanceInput): JsonLd;
4
+ export declare function discussionForumPostingNode(input: DiscussionForumPostingInput): JsonLd;
5
+ export declare function bookNode(input: BookInput): JsonLd;
6
+ export declare function readActionNode(target: string | JsonLd): JsonLd;
7
+ export declare function claimReviewNode(input: ClaimReviewInput): JsonLd;
8
+ export declare function employerAggregateRatingNode(input: AggregateRatingInput): JsonLd;
9
+ export declare function estimatedSalaryNode(input: {
10
+ name?: string;
11
+ currency?: string;
12
+ minValue?: number;
13
+ maxValue?: number;
14
+ unitText?: string;
15
+ }): JsonLd;
16
+ export declare function jobPostingNode(input: JobPostingInput): JsonLd;
17
+ export declare function localBusinessNode(input: LocalBusinessInput): JsonLd;
18
+ export declare function loyaltyProgramNode(input: LoyaltyProgramInput): JsonLd;
19
+ export declare function mathSolverNode(input: MathSolverInput): JsonLd;
20
+ export declare function merchantReturnPolicyNode(input: PolicyInput): JsonLd;
21
+ export declare function offerShippingDetailsNode(input: PolicyInput): JsonLd;
22
+ export declare function movieNode(input: MovieInput): JsonLd;
23
+ export declare function productGroupNode(input: ProductGroupInput): JsonLd;
24
+ export declare function recipeNode(input: RecipeInput): JsonLd;
25
+ export declare function speakableSpecificationNode(input: SpeakableInput): JsonLd;
26
+ export declare function paywalledContentSchema(input: PaywalledContentInput): JsonLd;
27
+ export declare function vacationRentalNode(input: VacationRentalInput): JsonLd;
28
+ export declare function vehicleListingNode(input: VehicleInput): JsonLd;
29
+ export declare function organizationSchema(site: StructuredDataSite): JsonLd;
30
+ export declare function websiteSchema(site: StructuredDataSite): JsonLd;
31
+ export declare function softwareApplicationSchema(site: StructuredDataSite): JsonLd;
32
+ export declare function webApplicationSchema(site: StructuredDataSite): JsonLd;
33
+ export declare function softwareSourceCodeSchema(page: StructuredDataPage): JsonLd;
34
+ export declare function techArticleSchema(page: StructuredDataPage): JsonLd;
35
+ export declare function articleSchema(page: StructuredDataPage): JsonLd;
36
+ export declare function breadcrumbSchema(items: StructuredDataBreadcrumbItem[]): JsonLd;
37
+ export declare function faqSchema(items: StructuredDataFaqItem[]): JsonLd;
38
+ export declare function itemListSchema(name: string, items: Array<{
39
+ name: string;
40
+ url?: string;
41
+ }>): JsonLd;
42
+ export declare function howToSchema(page: StructuredDataPage): JsonLd;
43
+ export declare function buildJsonLdGraph(site: StructuredDataSite, page: StructuredDataPage): JsonLd[];
44
+ //# sourceMappingURL=builders-secondary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders-secondary.d.ts","sourceRoot":"","sources":["../src/builders-secondary.ts"],"names":[],"mappings":"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"}