bunki 0.13.1 → 0.14.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/dist/cli.js +25 -0
- package/dist/index.js +25 -0
- package/dist/types.d.ts +32 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -33111,6 +33111,27 @@ async function parseMarkdownFile(filePath) {
|
|
|
33111
33111
|
lat: data.location.lat,
|
|
33112
33112
|
lng: data.location.lng
|
|
33113
33113
|
}
|
|
33114
|
+
},
|
|
33115
|
+
...data.category && { category: data.category },
|
|
33116
|
+
...data.business && {
|
|
33117
|
+
business: {
|
|
33118
|
+
type: data.business.type,
|
|
33119
|
+
name: data.business.name,
|
|
33120
|
+
address: data.business.address,
|
|
33121
|
+
lat: data.business.lat,
|
|
33122
|
+
lng: data.business.lng,
|
|
33123
|
+
...data.business.cuisine && { cuisine: data.business.cuisine },
|
|
33124
|
+
...data.business.priceRange && {
|
|
33125
|
+
priceRange: data.business.priceRange
|
|
33126
|
+
},
|
|
33127
|
+
...data.business.telephone && {
|
|
33128
|
+
telephone: data.business.telephone
|
|
33129
|
+
},
|
|
33130
|
+
...data.business.url && { url: data.business.url },
|
|
33131
|
+
...data.business.openingHours && {
|
|
33132
|
+
openingHours: data.business.openingHours
|
|
33133
|
+
}
|
|
33134
|
+
}
|
|
33114
33135
|
}
|
|
33115
33136
|
};
|
|
33116
33137
|
return { post, error: null };
|
|
@@ -33474,6 +33495,10 @@ class SiteGenerator {
|
|
|
33474
33495
|
const tags = {};
|
|
33475
33496
|
posts.forEach((post) => {
|
|
33476
33497
|
post.tagSlugs = {};
|
|
33498
|
+
const imageUrl = extractFirstImageUrl(post.html, this.options.config.baseUrl);
|
|
33499
|
+
if (imageUrl) {
|
|
33500
|
+
post.image = imageUrl;
|
|
33501
|
+
}
|
|
33477
33502
|
post.tags.forEach((tagName) => {
|
|
33478
33503
|
const tagSlug = import_slugify.default(tagName, { lower: true, strict: true });
|
|
33479
33504
|
post.tagSlugs[tagName] = tagSlug;
|
package/dist/index.js
CHANGED
|
@@ -30729,6 +30729,27 @@ async function parseMarkdownFile(filePath) {
|
|
|
30729
30729
|
lat: data.location.lat,
|
|
30730
30730
|
lng: data.location.lng
|
|
30731
30731
|
}
|
|
30732
|
+
},
|
|
30733
|
+
...data.category && { category: data.category },
|
|
30734
|
+
...data.business && {
|
|
30735
|
+
business: {
|
|
30736
|
+
type: data.business.type,
|
|
30737
|
+
name: data.business.name,
|
|
30738
|
+
address: data.business.address,
|
|
30739
|
+
lat: data.business.lat,
|
|
30740
|
+
lng: data.business.lng,
|
|
30741
|
+
...data.business.cuisine && { cuisine: data.business.cuisine },
|
|
30742
|
+
...data.business.priceRange && {
|
|
30743
|
+
priceRange: data.business.priceRange
|
|
30744
|
+
},
|
|
30745
|
+
...data.business.telephone && {
|
|
30746
|
+
telephone: data.business.telephone
|
|
30747
|
+
},
|
|
30748
|
+
...data.business.url && { url: data.business.url },
|
|
30749
|
+
...data.business.openingHours && {
|
|
30750
|
+
openingHours: data.business.openingHours
|
|
30751
|
+
}
|
|
30752
|
+
}
|
|
30732
30753
|
}
|
|
30733
30754
|
};
|
|
30734
30755
|
return { post, error: null };
|
|
@@ -31421,6 +31442,10 @@ class SiteGenerator {
|
|
|
31421
31442
|
const tags = {};
|
|
31422
31443
|
posts.forEach((post) => {
|
|
31423
31444
|
post.tagSlugs = {};
|
|
31445
|
+
const imageUrl = extractFirstImageUrl(post.html, this.options.config.baseUrl);
|
|
31446
|
+
if (imageUrl) {
|
|
31447
|
+
post.image = imageUrl;
|
|
31448
|
+
}
|
|
31424
31449
|
post.tags.forEach((tagName) => {
|
|
31425
31450
|
const tagSlug = import_slugify.default(tagName, { lower: true, strict: true });
|
|
31426
31451
|
post.tagSlugs[tagName] = tagSlug;
|
package/dist/types.d.ts
CHANGED
|
@@ -11,6 +11,32 @@ export interface Location {
|
|
|
11
11
|
/** Longitude coordinate */
|
|
12
12
|
lng: number;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Business schema data for LocalBusiness structured data
|
|
16
|
+
* Includes location data for map display and geo coordinates
|
|
17
|
+
*/
|
|
18
|
+
export interface Business {
|
|
19
|
+
/** Schema.org type (e.g., Restaurant, Bakery, CafeOrCoffeeShop) */
|
|
20
|
+
type: string;
|
|
21
|
+
/** Business name */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Full address of the business */
|
|
24
|
+
address: string;
|
|
25
|
+
/** Latitude coordinate */
|
|
26
|
+
lat: number;
|
|
27
|
+
/** Longitude coordinate */
|
|
28
|
+
lng: number;
|
|
29
|
+
/** Cuisine type for restaurants (e.g., "Mexican, Oaxacan") */
|
|
30
|
+
cuisine?: string;
|
|
31
|
+
/** Price range (e.g., "$", "$$", "$$$") */
|
|
32
|
+
priceRange?: string;
|
|
33
|
+
/** Business phone number */
|
|
34
|
+
telephone?: string;
|
|
35
|
+
/** Business website URL */
|
|
36
|
+
url?: string;
|
|
37
|
+
/** Opening hours in schema.org format */
|
|
38
|
+
openingHours?: string;
|
|
39
|
+
}
|
|
14
40
|
export interface Post {
|
|
15
41
|
/** Title of the post */
|
|
16
42
|
title: string;
|
|
@@ -32,6 +58,12 @@ export interface Post {
|
|
|
32
58
|
html: string;
|
|
33
59
|
/** Optional location data for map display */
|
|
34
60
|
location?: Location;
|
|
61
|
+
/** Optional category for the post */
|
|
62
|
+
category?: string;
|
|
63
|
+
/** Optional business schema data for LocalBusiness structured data */
|
|
64
|
+
business?: Business;
|
|
65
|
+
/** Optional image URL (first image from post content, used for thumbnails and social sharing) */
|
|
66
|
+
image?: string;
|
|
35
67
|
}
|
|
36
68
|
/**
|
|
37
69
|
* Configuration for CSS processing
|
package/package.json
CHANGED