@lupinum/ginko 0.5.0 → 0.6.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/CHANGELOG.md +11 -0
- package/dist/basics.d.mts +16 -16
- package/dist/basics.d.ts +16 -16
- package/dist/basics.mjs +5 -5
- package/dist/cli/index.mjs +8 -4
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/internal.d.mts +4 -4
- package/dist/internal.d.ts +4 -4
- package/dist/internal.mjs +9 -9
- package/dist/nuxt/module.mjs +5 -4
- package/dist/shared/{ginko.C4gcOovG.mjs → ginko.B1-DoOea.mjs} +1 -1
- package/dist/shared/{ginko.loGIxGZg.d.mts → ginko.BaFweQcB.d.mts} +1 -1
- package/dist/shared/{ginko.ULKQnAWd.d.ts → ginko.BiDXgjLy.d.ts} +1 -1
- package/dist/shared/{ginko.AprJymER.mjs → ginko.C-oz8wwI.mjs} +27 -1
- package/dist/shared/{ginko.EelR5dt9.d.ts → ginko.CLzVaDi4.d.ts} +7 -1
- package/dist/shared/{ginko.plW4dLmm.d.mts → ginko.C_nq6vk7.d.mts} +1 -1
- package/dist/shared/{ginko.1wwZv4B_.d.ts → ginko.D2oht0Kx.d.ts} +1 -1
- package/dist/shared/{ginko.Dmgixfpf.mjs → ginko.DCHGkQ7P.mjs} +1 -15
- package/dist/shared/{ginko.DvPtlHIz.d.mts → ginko.DkIc0ZZk.d.mts} +7 -1
- package/dist/shared/{ginko.DY7RbCEw.mjs → ginko.WAfoMhv1.mjs} +2 -2
- package/dist/shared/{ginko.CXA2R3aS.mjs → ginko.t-gbwzxh.mjs} +38 -38
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @lupinum/ginko
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#26](https://github.com/lupinum-dev/ginko/pull/26) [`ee8c8a9`](https://github.com/lupinum-dev/ginko/commit/ee8c8a982a64ee15a1cab906b7a3b58fe8c686e6) Thanks [@Mat4m0](https://github.com/Mat4m0)! - Add `GINKO_CONTENT=platform`: a site whose bricks read files takes its content from the platform instead, in the build and in `ginko release`, without a code change.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies []:
|
|
12
|
+
- @lupinum/ginko-i18n@0.6.0
|
|
13
|
+
|
|
3
14
|
## 0.5.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
package/dist/basics.d.mts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { B as BasicsOptions, H as HoursContext } from './shared/ginko.
|
|
2
|
-
export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.
|
|
1
|
+
import { B as BasicsOptions, H as HoursContext } from './shared/ginko.C_nq6vk7.mjs';
|
|
2
|
+
export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.C_nq6vk7.mjs';
|
|
3
3
|
import { SingleBrick, Locale, CollectionBrick } from './index.mjs';
|
|
4
4
|
import { TextField, LongTextField, SlugField, ChoiceField, DateField, MarkdownField, ImageField, RefField, ListField, FileField } from './internal.mjs';
|
|
5
5
|
export { s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, u as StoredHolidays, z as calendarOfCountry } from './shared/ginko.DrkUeYFP.mjs';
|
|
6
6
|
import { OrganizationLdInput } from './internal.mjs';
|
|
7
7
|
import { RouteTemplate } from './index.mjs';
|
|
8
|
-
export { w as withoutFiles } from './shared/ginko.
|
|
8
|
+
export { w as withoutFiles } from './shared/ginko.DkIc0ZZk.mjs';
|
|
9
9
|
import '@lupinum/ginko-i18n/core';
|
|
10
10
|
import 'comark';
|
|
11
11
|
import './shared/ginko.6cI8KXZP.mjs';
|
|
@@ -98,7 +98,7 @@ interface LegalOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
|
|
|
98
98
|
route?: R;
|
|
99
99
|
}
|
|
100
100
|
declare function legal<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: LegalOptions<R>): CollectionBrick<{
|
|
101
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
101
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
102
102
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
103
103
|
};
|
|
104
104
|
readonly description: LongTextField & {
|
|
@@ -128,7 +128,7 @@ declare function legal<const R extends Record<Locale, RouteTemplate> | undefined
|
|
|
128
128
|
readonly label: Record<string, string>;
|
|
129
129
|
}];
|
|
130
130
|
}, "options">;
|
|
131
|
-
readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
131
|
+
readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
132
132
|
default?: string | undefined;
|
|
133
133
|
};
|
|
134
134
|
readonly body: MarkdownField & {
|
|
@@ -213,13 +213,13 @@ interface PostsOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
|
|
|
213
213
|
* Files: `content/posts/<name>[.<locale>].md`.
|
|
214
214
|
*/
|
|
215
215
|
declare function posts<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: PostsOptions<R>): CollectionBrick<{
|
|
216
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
216
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
217
217
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
218
218
|
};
|
|
219
219
|
readonly description: LongTextField & {
|
|
220
220
|
readonly optional: true;
|
|
221
221
|
};
|
|
222
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
222
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
223
223
|
default?: string | undefined;
|
|
224
224
|
};
|
|
225
225
|
readonly authors: RefField & {
|
|
@@ -254,7 +254,7 @@ declare function posts<const R extends Record<Locale, RouteTemplate> | undefined
|
|
|
254
254
|
}, R>;
|
|
255
255
|
/** The people who write posts; a post names them in `authors`. Files: `content/authors/<name>[.<locale>].yml`. */
|
|
256
256
|
declare function authors(o?: BasicsOptions): CollectionBrick<{
|
|
257
|
-
readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
257
|
+
readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
258
258
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
259
259
|
};
|
|
260
260
|
readonly role: TextField & {
|
|
@@ -282,7 +282,7 @@ declare function changelog(o?: ChangelogOptions): CollectionBrick<{
|
|
|
282
282
|
readonly max: 40;
|
|
283
283
|
readonly translate: false;
|
|
284
284
|
};
|
|
285
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
285
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
286
286
|
default?: string | undefined;
|
|
287
287
|
};
|
|
288
288
|
readonly body: MarkdownField & {
|
|
@@ -322,16 +322,16 @@ interface JobsOptions<R extends Record<Locale, RouteTemplate> | undefined> exten
|
|
|
322
322
|
route?: R;
|
|
323
323
|
}
|
|
324
324
|
declare function jobs<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: JobsOptions<R>): CollectionBrick<{
|
|
325
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
325
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
326
326
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
327
327
|
};
|
|
328
|
-
readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "
|
|
328
|
+
readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
329
329
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
330
330
|
};
|
|
331
331
|
readonly slug: SlugField & {
|
|
332
332
|
readonly from: "title";
|
|
333
333
|
};
|
|
334
|
-
readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
334
|
+
readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
335
335
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
336
336
|
};
|
|
337
337
|
readonly employmentType: ChoiceField<"fullTime" | "partTime" | "freelance" | "internship" | "apprenticeship"> & Omit<{
|
|
@@ -409,10 +409,10 @@ interface JobJsonLdInput {
|
|
|
409
409
|
declare function jobJsonLd(j: JobJsonLdInput): Record<string, unknown>;
|
|
410
410
|
|
|
411
411
|
declare function faq(o?: BasicsOptions): CollectionBrick<{
|
|
412
|
-
readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
412
|
+
readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
413
413
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
414
414
|
};
|
|
415
|
-
readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "
|
|
415
|
+
readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
416
416
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
417
417
|
};
|
|
418
418
|
}, undefined>;
|
|
@@ -423,13 +423,13 @@ declare function faqJsonLd(items: readonly {
|
|
|
423
423
|
}[]): Record<string, unknown>;
|
|
424
424
|
|
|
425
425
|
declare function downloads(o?: BasicsOptions): CollectionBrick<{
|
|
426
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
426
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
427
427
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
428
428
|
};
|
|
429
429
|
readonly summary: LongTextField & {
|
|
430
430
|
readonly optional: true;
|
|
431
431
|
};
|
|
432
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
432
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
433
433
|
default?: string | undefined;
|
|
434
434
|
};
|
|
435
435
|
readonly file: FileField & {
|
package/dist/basics.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { B as BasicsOptions, H as HoursContext } from './shared/ginko.
|
|
2
|
-
export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.
|
|
1
|
+
import { B as BasicsOptions, H as HoursContext } from './shared/ginko.D2oht0Kx.js';
|
|
2
|
+
export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.D2oht0Kx.js';
|
|
3
3
|
import { SingleBrick, Locale, CollectionBrick } from './index.js';
|
|
4
4
|
import { TextField, LongTextField, SlugField, ChoiceField, DateField, MarkdownField, ImageField, RefField, ListField, FileField } from './internal.js';
|
|
5
5
|
export { s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, u as StoredHolidays, z as calendarOfCountry } from './shared/ginko.DrkUeYFP.js';
|
|
6
6
|
import { OrganizationLdInput } from './internal.js';
|
|
7
7
|
import { RouteTemplate } from './index.js';
|
|
8
|
-
export { w as withoutFiles } from './shared/ginko.
|
|
8
|
+
export { w as withoutFiles } from './shared/ginko.CLzVaDi4.js';
|
|
9
9
|
import '@lupinum/ginko-i18n/core';
|
|
10
10
|
import 'comark';
|
|
11
11
|
import './shared/ginko.B_pACpVU.js';
|
|
@@ -98,7 +98,7 @@ interface LegalOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
|
|
|
98
98
|
route?: R;
|
|
99
99
|
}
|
|
100
100
|
declare function legal<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: LegalOptions<R>): CollectionBrick<{
|
|
101
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
101
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
102
102
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
103
103
|
};
|
|
104
104
|
readonly description: LongTextField & {
|
|
@@ -128,7 +128,7 @@ declare function legal<const R extends Record<Locale, RouteTemplate> | undefined
|
|
|
128
128
|
readonly label: Record<string, string>;
|
|
129
129
|
}];
|
|
130
130
|
}, "options">;
|
|
131
|
-
readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
131
|
+
readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
132
132
|
default?: string | undefined;
|
|
133
133
|
};
|
|
134
134
|
readonly body: MarkdownField & {
|
|
@@ -213,13 +213,13 @@ interface PostsOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
|
|
|
213
213
|
* Files: `content/posts/<name>[.<locale>].md`.
|
|
214
214
|
*/
|
|
215
215
|
declare function posts<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: PostsOptions<R>): CollectionBrick<{
|
|
216
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
216
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
217
217
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
218
218
|
};
|
|
219
219
|
readonly description: LongTextField & {
|
|
220
220
|
readonly optional: true;
|
|
221
221
|
};
|
|
222
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
222
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
223
223
|
default?: string | undefined;
|
|
224
224
|
};
|
|
225
225
|
readonly authors: RefField & {
|
|
@@ -254,7 +254,7 @@ declare function posts<const R extends Record<Locale, RouteTemplate> | undefined
|
|
|
254
254
|
}, R>;
|
|
255
255
|
/** The people who write posts; a post names them in `authors`. Files: `content/authors/<name>[.<locale>].yml`. */
|
|
256
256
|
declare function authors(o?: BasicsOptions): CollectionBrick<{
|
|
257
|
-
readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
257
|
+
readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
258
258
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
259
259
|
};
|
|
260
260
|
readonly role: TextField & {
|
|
@@ -282,7 +282,7 @@ declare function changelog(o?: ChangelogOptions): CollectionBrick<{
|
|
|
282
282
|
readonly max: 40;
|
|
283
283
|
readonly translate: false;
|
|
284
284
|
};
|
|
285
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
285
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
286
286
|
default?: string | undefined;
|
|
287
287
|
};
|
|
288
288
|
readonly body: MarkdownField & {
|
|
@@ -322,16 +322,16 @@ interface JobsOptions<R extends Record<Locale, RouteTemplate> | undefined> exten
|
|
|
322
322
|
route?: R;
|
|
323
323
|
}
|
|
324
324
|
declare function jobs<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: JobsOptions<R>): CollectionBrick<{
|
|
325
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
325
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
326
326
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
327
327
|
};
|
|
328
|
-
readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "
|
|
328
|
+
readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
329
329
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
330
330
|
};
|
|
331
331
|
readonly slug: SlugField & {
|
|
332
332
|
readonly from: "title";
|
|
333
333
|
};
|
|
334
|
-
readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
334
|
+
readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
335
335
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
336
336
|
};
|
|
337
337
|
readonly employmentType: ChoiceField<"fullTime" | "partTime" | "freelance" | "internship" | "apprenticeship"> & Omit<{
|
|
@@ -409,10 +409,10 @@ interface JobJsonLdInput {
|
|
|
409
409
|
declare function jobJsonLd(j: JobJsonLdInput): Record<string, unknown>;
|
|
410
410
|
|
|
411
411
|
declare function faq(o?: BasicsOptions): CollectionBrick<{
|
|
412
|
-
readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
412
|
+
readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
413
413
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
414
414
|
};
|
|
415
|
-
readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "
|
|
415
|
+
readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
416
416
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
417
417
|
};
|
|
418
418
|
}, undefined>;
|
|
@@ -423,13 +423,13 @@ declare function faqJsonLd(items: readonly {
|
|
|
423
423
|
}[]): Record<string, unknown>;
|
|
424
424
|
|
|
425
425
|
declare function downloads(o?: BasicsOptions): CollectionBrick<{
|
|
426
|
-
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "
|
|
426
|
+
readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
427
427
|
default?: (string | Partial<Record<string, string>>) | undefined;
|
|
428
428
|
};
|
|
429
429
|
readonly summary: LongTextField & {
|
|
430
430
|
readonly optional: true;
|
|
431
431
|
};
|
|
432
|
-
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "
|
|
432
|
+
readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
|
|
433
433
|
default?: string | undefined;
|
|
434
434
|
};
|
|
435
435
|
readonly file: FileField & {
|
package/dist/basics.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { f, O as studioLabel } from './shared/ginko.BNVC-g9n.mjs';
|
|
2
|
-
import { s as single,
|
|
3
|
-
export {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import { s as single, c as collection } from './shared/ginko.C-oz8wwI.mjs';
|
|
3
|
+
export { h as withoutFiles } from './shared/ginko.C-oz8wwI.mjs';
|
|
4
|
+
import { o as organizationLd, c as compact, a as articleLd, p as postalAddressLd, d as faqLd } from './shared/ginko.DCHGkQ7P.mjs';
|
|
5
|
+
import { s as sourceOf, w as weekFor, a as addDays, h as hoursOn, b as weekdayOf, c as spansOf, d as weekdayKeys, e as both } from './shared/ginko.WAfoMhv1.mjs';
|
|
6
|
+
export { f as austrianHolidays, g as calendarIn, i as calendarOf, j as closedOnClosure, k as eventJsonLd, l as events, m as germanHolidays, n as holidayOn, o as hourPlans, p as hours, q as hoursLine, r as notices, t as noticesOn, u as offerJsonLd, v as planOn, x as sessions, y as sessionsInOrder, z as singaporeHolidays, A as spansText, B as timesOf, C as todayState, D as upcomingClosures, E as upcomingHolidayClosures, F as upcomingPlans, G as weekOf } from './shared/ginko.WAfoMhv1.mjs';
|
|
6
7
|
import { l as limitOf } from './shared/ginko.D1PeQ3ds.mjs';
|
|
7
8
|
export { c as calendarOfCountry } from './shared/ginko.D1PeQ3ds.mjs';
|
|
8
9
|
import 'comark';
|
|
@@ -17,7 +18,6 @@ import 'comark/plugins/mermaid';
|
|
|
17
18
|
import 'comark/plugins/task-list';
|
|
18
19
|
import 'comark/plugins/toc';
|
|
19
20
|
import '@lupinum/ginko-i18n/core';
|
|
20
|
-
import './shared/ginko.AprJymER.mjs';
|
|
21
21
|
|
|
22
22
|
function site(o = {}) {
|
|
23
23
|
const plain = { optional: true, translate: false };
|
package/dist/cli/index.mjs
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { existsSync, realpathSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { join, dirname, resolve } from 'node:path';
|
|
4
4
|
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
5
|
-
import { C as CliError, i as isObject, d as defaultsFor, f as fieldsChanged, r as releaseData, S as SITE_BUDGET, e as entryBytes, a as fitsBudget, b as diffSchema, l as largestEntryBytes, c as largestFieldBytes, p as parseExport, g as parseReleaseState, h as pathOf, j as defaultDir } from '../shared/ginko.
|
|
5
|
+
import { C as CliError, i as isObject, d as defaultsFor, f as fieldsChanged, r as releaseData, S as SITE_BUDGET, e as entryBytes, a as fitsBudget, b as diffSchema, l as largestEntryBytes, c as largestFieldBytes, p as parseExport, g as parseReleaseState, h as pathOf, j as defaultDir } from '../shared/ginko.t-gbwzxh.mjs';
|
|
6
|
+
import { g as siteForContent } from '../shared/ginko.C-oz8wwI.mjs';
|
|
6
7
|
import { f as fileLinkIssues } from '../shared/ginko.raCzOPYC.mjs';
|
|
7
8
|
import { F as coreMessage, i as isTranslatable, g as effectiveMax } from '../shared/ginko.BNVC-g9n.mjs';
|
|
8
|
-
import { s as serializeSchema, c as checkSite, v as validate, p as platformSchema, a as checkSchema } from '../shared/ginko.
|
|
9
|
+
import { s as serializeSchema, c as checkSite, v as validate, p as platformSchema, a as checkSchema } from '../shared/ginko.B1-DoOea.mjs';
|
|
9
10
|
import { c as calendarOfCountry } from '../shared/ginko.D1PeQ3ds.mjs';
|
|
10
11
|
import { mkdir, writeFile, rm, readdir } from 'node:fs/promises';
|
|
11
12
|
import { execFile } from 'node:child_process';
|
|
12
|
-
import '../shared/ginko.AprJymER.mjs';
|
|
13
13
|
import '../shared/ginko.yKMIjJ68.mjs';
|
|
14
14
|
import 'comark';
|
|
15
15
|
import 'comark/plugins/alert';
|
|
@@ -36,7 +36,11 @@ async function loadConfig(path, revision = 0) {
|
|
|
36
36
|
if (!isObject(config) || typeof config.site !== "string" || !isObject(config.bricks)) {
|
|
37
37
|
throw new CliError(`${path} needs a default export with defineSite(\u2026).`);
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
try {
|
|
40
|
+
return siteForContent(config, process.env.GINKO_CONTENT);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw new CliError(error.message);
|
|
43
|
+
}
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
function english(m) {
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.
|
|
1
|
+
export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.DkIc0ZZk.mjs';
|
|
2
2
|
export { B as Brick, d as BrickSource, Q as BrickStatus, Y as ChoiceOption, f as CollectionBrick, e as CollectionStatus, _ as ComponentDef, b as ComponentRegistry, C as Currency, a2 as DataOf, p as Field, F as Fields, a4 as FileValue, a7 as ImageValue, a8 as ItemOf, J as Json, c as Label, L as Locale, ab as MarkdownProfile, ac as MarkdownToc, M as MarkdownTree, ad as MarkdownValue, af as Money, h as SingleBrick, g as SingleStatus, T as Task, al as TocLink, ao as UnknownChoice, V as Visibility, W as WeekInfo, aw as defineComponents, aB as f, aJ as plainText, aM as startOfWeek, aQ as wordsOf } from './shared/ginko.DrkUeYFP.mjs';
|
|
3
3
|
export { N as NavNode, b as SeoImage, e as breadcrumbJsonLd } from './shared/ginko.o1yIKlgj.mjs';
|
|
4
|
-
export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.
|
|
4
|
+
export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.BaFweQcB.mjs';
|
|
5
5
|
import './shared/ginko.6cI8KXZP.mjs';
|
|
6
6
|
import '@lupinum/ginko-i18n/core';
|
|
7
7
|
import 'comark';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.
|
|
1
|
+
export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.CLzVaDi4.js';
|
|
2
2
|
export { B as Brick, d as BrickSource, Q as BrickStatus, Y as ChoiceOption, f as CollectionBrick, e as CollectionStatus, _ as ComponentDef, b as ComponentRegistry, C as Currency, a2 as DataOf, p as Field, F as Fields, a4 as FileValue, a7 as ImageValue, a8 as ItemOf, J as Json, c as Label, L as Locale, ab as MarkdownProfile, ac as MarkdownToc, M as MarkdownTree, ad as MarkdownValue, af as Money, h as SingleBrick, g as SingleStatus, T as Task, al as TocLink, ao as UnknownChoice, V as Visibility, W as WeekInfo, aw as defineComponents, aB as f, aJ as plainText, aM as startOfWeek, aQ as wordsOf } from './shared/ginko.DrkUeYFP.js';
|
|
3
3
|
export { N as NavNode, b as SeoImage, e as breadcrumbJsonLd } from './shared/ginko.CjWB8N7f.js';
|
|
4
|
-
export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.
|
|
4
|
+
export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.BiDXgjLy.js';
|
|
5
5
|
import './shared/ginko.B_pACpVU.js';
|
|
6
6
|
import '@lupinum/ginko-i18n/core';
|
|
7
7
|
import 'comark';
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { c as collection, d as defineSite, s as single, a as startOfWeek } from './shared/ginko.C-oz8wwI.mjs';
|
|
2
2
|
export { d as defineComponents, f, p as plainText, s as safeHref, w as wordsOf } from './shared/ginko.BNVC-g9n.mjs';
|
|
3
|
-
export {
|
|
3
|
+
export { b as breadcrumbJsonLd, f as formatMoney } from './shared/ginko.DCHGkQ7P.mjs';
|
|
4
4
|
import 'comark';
|
|
5
5
|
import 'comark/plugins/alert';
|
|
6
6
|
import 'comark/plugins/attributes';
|
package/dist/internal.d.mts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { C as Currency, L as Locale, c as Label, B as Brick, S as Schema, F as Fields, p as Field, J as Json, P as ParseOptions, E as Issue, x as FileField, G as Described, a as Msg, f as CollectionBrick, M as MarkdownTree, T as Task, W as WeekInfo, b as ComponentRegistry } from './shared/ginko.DrkUeYFP.mjs';
|
|
2
2
|
export { K as ALT_INVISIBLE, O as ALT_MAX, A as AttributeRegistry, o as BooleanField, d as BrickSource, Q as BrickStatus, U as BrickValue, X as CALENDAR_NAMES, r as ChoiceField, Y as ChoiceOption, Z as ChoicesField, e as CollectionStatus, _ as ComponentDef, $ as ComponentSlot, a0 as CoreKey, a1 as DEFAULT_WEEK, a2 as DataOf, D as DateField, k as DateRangeField, a3 as FieldType, a4 as FileValue, a5 as GINKO_COMPONENTS_KEY, a6 as GINKO_TOC_KEY, s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, I as ImageField, a7 as ImageValue, a8 as ItemOf, v as ListField, a9 as Localized, w as LongTextField, aa as MARKDOWN_PROFILES, m as MarkdownField, ab as MarkdownProfile, ac as MarkdownToc, ad as MarkdownValue, ae as MigrationDescriptor, af as Money, n as MoneyField, N as NumberField, ag as PREFILL_TOKENS, ah as ParsedMarkdown, ai as PrefillToken, q as RefField, R as RetiredRule, aj as STORED_HOLIDAYS, h as SingleBrick, g as SingleStatus, j as SlugField, u as StoredHolidays, ak as TextBlock, i as TextField, l as TimeField, al as TocLink, am as UNSAFE_LINK, an as URL_PROPS, ao as UnknownChoice, ap as ValueOf, V as Visibility, aq as addDays, z as calendarOfCountry, ar as componentProblems, as as componentPropMessage, at as componentPropProblem, au as coreCatalogs, av as coreMessage, aw as defineComponents, ax as describeProfile, ay as effectiveAlt, az as effectiveMax, aA as effectiveProfile, aB as f, aC as firstDayShown, aD as holidaysOf, aE as isPrefillToken, aF as isShown, aG as isTranslatable, aH as msg, aI as parseMarkdown, aJ as plainText, aK as profileCovers, aL as resolveToken, aM as startOfWeek, aN as textBlocks, aO as todayIn, aP as weekInfoOf, aQ as wordsOf, aR as workWeekOf, aS as zoneOffset, aT as zonedDateTime } from './shared/ginko.DrkUeYFP.mjs';
|
|
3
|
-
import { S as SiteInput } from './shared/ginko.
|
|
4
|
-
export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, w as withoutFiles } from './shared/ginko.
|
|
3
|
+
import { S as SiteInput } from './shared/ginko.DkIc0ZZk.mjs';
|
|
4
|
+
export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko.DkIc0ZZk.mjs';
|
|
5
5
|
import { M as MarkdownTrees, B as Bundle, a as BundleItem } from './shared/ginko.6cI8KXZP.mjs';
|
|
6
6
|
export { b as BUNDLE_FORMAT, c as BundleBrick, d as bundleFits, i as isBundle, k as knownBricks, m as markdownTrees, w as withFileBricks } from './shared/ginko.6cI8KXZP.mjs';
|
|
7
|
-
export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.
|
|
7
|
+
export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.BaFweQcB.mjs';
|
|
8
8
|
export { A as ArticleLdInput, N as NavNode, a as ORGANIZATION_TYPES, O as OrganizationLdInput, S as SeoHead, b as SeoImage, c as SeoInput, d as articleLd, e as breadcrumbJsonLd, f as breadcrumbs, g as faqLd, i as isPreviewHost, n as navTree, o as organizationLd, r as robotsTxt, s as seoHead, h as siteHeaders, w as websiteLd, j as withCountry } from './shared/ginko.o1yIKlgj.mjs';
|
|
9
|
-
export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.
|
|
9
|
+
export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.C_nq6vk7.mjs';
|
|
10
10
|
import '@lupinum/ginko-i18n/core';
|
|
11
11
|
import 'comark';
|
|
12
12
|
|
package/dist/internal.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { C as Currency, L as Locale, c as Label, B as Brick, S as Schema, F as Fields, p as Field, J as Json, P as ParseOptions, E as Issue, x as FileField, G as Described, a as Msg, f as CollectionBrick, M as MarkdownTree, T as Task, W as WeekInfo, b as ComponentRegistry } from './shared/ginko.DrkUeYFP.js';
|
|
2
2
|
export { K as ALT_INVISIBLE, O as ALT_MAX, A as AttributeRegistry, o as BooleanField, d as BrickSource, Q as BrickStatus, U as BrickValue, X as CALENDAR_NAMES, r as ChoiceField, Y as ChoiceOption, Z as ChoicesField, e as CollectionStatus, _ as ComponentDef, $ as ComponentSlot, a0 as CoreKey, a1 as DEFAULT_WEEK, a2 as DataOf, D as DateField, k as DateRangeField, a3 as FieldType, a4 as FileValue, a5 as GINKO_COMPONENTS_KEY, a6 as GINKO_TOC_KEY, s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, I as ImageField, a7 as ImageValue, a8 as ItemOf, v as ListField, a9 as Localized, w as LongTextField, aa as MARKDOWN_PROFILES, m as MarkdownField, ab as MarkdownProfile, ac as MarkdownToc, ad as MarkdownValue, ae as MigrationDescriptor, af as Money, n as MoneyField, N as NumberField, ag as PREFILL_TOKENS, ah as ParsedMarkdown, ai as PrefillToken, q as RefField, R as RetiredRule, aj as STORED_HOLIDAYS, h as SingleBrick, g as SingleStatus, j as SlugField, u as StoredHolidays, ak as TextBlock, i as TextField, l as TimeField, al as TocLink, am as UNSAFE_LINK, an as URL_PROPS, ao as UnknownChoice, ap as ValueOf, V as Visibility, aq as addDays, z as calendarOfCountry, ar as componentProblems, as as componentPropMessage, at as componentPropProblem, au as coreCatalogs, av as coreMessage, aw as defineComponents, ax as describeProfile, ay as effectiveAlt, az as effectiveMax, aA as effectiveProfile, aB as f, aC as firstDayShown, aD as holidaysOf, aE as isPrefillToken, aF as isShown, aG as isTranslatable, aH as msg, aI as parseMarkdown, aJ as plainText, aK as profileCovers, aL as resolveToken, aM as startOfWeek, aN as textBlocks, aO as todayIn, aP as weekInfoOf, aQ as wordsOf, aR as workWeekOf, aS as zoneOffset, aT as zonedDateTime } from './shared/ginko.DrkUeYFP.js';
|
|
3
|
-
import { S as SiteInput } from './shared/ginko.
|
|
4
|
-
export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, w as withoutFiles } from './shared/ginko.
|
|
3
|
+
import { S as SiteInput } from './shared/ginko.CLzVaDi4.js';
|
|
4
|
+
export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko.CLzVaDi4.js';
|
|
5
5
|
import { M as MarkdownTrees, B as Bundle, a as BundleItem } from './shared/ginko.B_pACpVU.js';
|
|
6
6
|
export { b as BUNDLE_FORMAT, c as BundleBrick, d as bundleFits, i as isBundle, k as knownBricks, m as markdownTrees, w as withFileBricks } from './shared/ginko.B_pACpVU.js';
|
|
7
|
-
export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.
|
|
7
|
+
export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.BiDXgjLy.js';
|
|
8
8
|
export { A as ArticleLdInput, N as NavNode, a as ORGANIZATION_TYPES, O as OrganizationLdInput, S as SeoHead, b as SeoImage, c as SeoInput, d as articleLd, e as breadcrumbJsonLd, f as breadcrumbs, g as faqLd, i as isPreviewHost, n as navTree, o as organizationLd, r as robotsTxt, s as seoHead, h as siteHeaders, w as websiteLd, j as withCountry } from './shared/ginko.CjWB8N7f.js';
|
|
9
|
-
export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.
|
|
9
|
+
export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.D2oht0Kx.js';
|
|
10
10
|
import '@lupinum/ginko-i18n/core';
|
|
11
11
|
import 'comark';
|
|
12
12
|
|
package/dist/internal.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { k as isVisible, v as visibleUntil, m as printOf } from './shared/ginko.
|
|
2
|
-
export { S as SITE_BUDGET, n as applyDefaults, o as blockedSlugs, q as buildBundle, s as byteSize, j as defaultDir, d as defaultsFor, t as deletesExpired, b as diffSchema, e as entryBytes, f as fieldsChanged, a as fitsBudget, l as largestEntryBytes, c as largestFieldBytes, h as pathOf, r as releaseData, u as resolveEntry, w as routeUrls, x as servedBundle, y as sortEntries, z as untranslatedMode, A as urlClashes, B as urlsFor } from './shared/ginko.
|
|
3
|
-
export { H as eventsBrick, I as hourPlansBrick, J as hoursBrick, q as hoursLine, K as noticesBrick, L as offerPrice, M as postalAddress, N as weekdays } from './shared/ginko.
|
|
4
|
-
import {
|
|
5
|
-
export { D as DEFAULT_WEEK, f as firstDayShown, r as resolveToken, s as startOfWeek, t as todayIn,
|
|
1
|
+
import { k as isVisible, v as visibleUntil, m as printOf } from './shared/ginko.t-gbwzxh.mjs';
|
|
2
|
+
export { S as SITE_BUDGET, n as applyDefaults, o as blockedSlugs, q as buildBundle, s as byteSize, j as defaultDir, d as defaultsFor, t as deletesExpired, b as diffSchema, e as entryBytes, f as fieldsChanged, a as fitsBudget, l as largestEntryBytes, c as largestFieldBytes, h as pathOf, r as releaseData, u as resolveEntry, w as routeUrls, x as servedBundle, y as sortEntries, z as untranslatedMode, A as urlClashes, B as urlsFor } from './shared/ginko.t-gbwzxh.mjs';
|
|
3
|
+
export { H as eventsBrick, I as hourPlansBrick, J as hoursBrick, q as hoursLine, K as noticesBrick, L as offerPrice, M as postalAddress, N as weekdays } from './shared/ginko.WAfoMhv1.mjs';
|
|
4
|
+
import { b as addDays } from './shared/ginko.C-oz8wwI.mjs';
|
|
5
|
+
export { D as DEFAULT_WEEK, c as collection, d as defineSite, f as firstDayShown, r as resolveToken, s as single, g as siteForContent, a as startOfWeek, t as todayIn, e as weekInfoOf, h as withoutFiles, w as workWeekOf, i as zoneOffset, z as zonedDateTime } from './shared/ginko.C-oz8wwI.mjs';
|
|
6
6
|
import { a as parseMarkdown, h as stableJson, u as labelOf, i as isTranslatable, g as effectiveMax, P as describeProfile, y as effectiveProfile } from './shared/ginko.BNVC-g9n.mjs';
|
|
7
7
|
export { v as ALT_INVISIBLE, A as ALT_MAX, Q as FILE_REF, R as GINKO_COMPONENTS_KEY, S as GINKO_TOC_KEY, J as MARKDOWN_PROFILES, M as MAX_LOCALES, U as UNSAFE_LINK, T as URL_PROPS, c as checkLinks, G as componentProblems, V as componentPropMessage, W as componentPropProblem, X as coreCatalogs, F as coreMessage, d as defineComponents, q as effectiveAlt, Y as entryLinkRefs, N as entryRedirects, e as externalLinks, f, Z as fileImagesWithoutAlt, _ as fileRefOf, z as fileRefUses, $ as fileRefsIn, a0 as findRedirect, a1 as imagePropsOf, E as isCurrency, C as isLocale, a2 as isSafeHref, x as isShown, a3 as labelsIn, a4 as linkTargets, a5 as mapMarkdownTexts, a6 as matchRedirect, m as msg, p as plainText, K as profileCovers, L as redirectProblems, a7 as remapFileIds, o as resolveFileRefs, r as resolveRouteLinks, a8 as rewriteEntryLinks, a9 as rewriteFileRefs, s as safeHref, n as sha256, O as studioLabel, t as textBlocks, w as wordsOf } from './shared/ginko.BNVC-g9n.mjs';
|
|
8
8
|
import { e as entryTitle$1 } from './shared/ginko.yKMIjJ68.mjs';
|
|
9
9
|
export { B as BUNDLE_FORMAT, b as bundleFits, i as isBundle, k as knownBricks, m as markdownTrees, a as withFileBricks } from './shared/ginko.yKMIjJ68.mjs';
|
|
10
10
|
export { C as CALENDAR_NAMES, S as STORED_HOLIDAYS, U as UPLOAD_TYPES, a as acceptOf, c as calendarOfCountry, f as formatMb, h as holidaysOf, l as limitOf } from './shared/ginko.D1PeQ3ds.mjs';
|
|
11
|
-
import { m as minorDigits } from './shared/ginko.
|
|
12
|
-
export { O as ORGANIZATION_TYPES,
|
|
13
|
-
import { o as ordered, b as createAsks } from './shared/ginko.
|
|
14
|
-
export { P as PREFILL_TOKENS, d as SCHEMA_LIMITS, e as SHAPE_CODES, f as SLUG_PATTERN, a as checkSchema, c as checkSite, g as duePlan, h as fileProblem, i as grantGroups, j as isDate, k as isHourPlans, l as isPrefillToken, m as isTimeZone, n as liveFrom, q as mainLocale, r as migrationFingerprint, t as plannedWeeks, u as plansThisWeek, p as platformSchema, s as serializeSchema, w as slugBases, x as slugify, y as staleOf, z as uniqueSlug, v as validate, A as weekStartField, C as weeklyTask } from './shared/ginko.
|
|
11
|
+
import { m as minorDigits } from './shared/ginko.DCHGkQ7P.mjs';
|
|
12
|
+
export { O as ORGANIZATION_TYPES, a as articleLd, b as breadcrumbJsonLd, d as faqLd, f as formatMoney, i as isPreviewHost, o as organizationLd, r as robotsTxt, s as seoHead, e as siteHeaders, w as websiteLd, g as withCountry } from './shared/ginko.DCHGkQ7P.mjs';
|
|
13
|
+
import { o as ordered, b as createAsks } from './shared/ginko.B1-DoOea.mjs';
|
|
14
|
+
export { P as PREFILL_TOKENS, d as SCHEMA_LIMITS, e as SHAPE_CODES, f as SLUG_PATTERN, a as checkSchema, c as checkSite, g as duePlan, h as fileProblem, i as grantGroups, j as isDate, k as isHourPlans, l as isPrefillToken, m as isTimeZone, n as liveFrom, q as mainLocale, r as migrationFingerprint, t as plannedWeeks, u as plansThisWeek, p as platformSchema, s as serializeSchema, w as slugBases, x as slugify, y as staleOf, z as uniqueSlug, v as validate, A as weekStartField, C as weeklyTask } from './shared/ginko.B1-DoOea.mjs';
|
|
15
15
|
import { renderMarkdown } from 'comark/render';
|
|
16
16
|
export { f as fileMarkdownRef, p as platformMarkdownRef, w as withMarkdownRefs } from './shared/ginko.DIl7l-75.mjs';
|
|
17
17
|
import 'comark';
|
package/dist/nuxt/module.mjs
CHANGED
|
@@ -4,11 +4,11 @@ import { join, relative, resolve, basename } from 'node:path';
|
|
|
4
4
|
import { pathToFileURL } from 'node:url';
|
|
5
5
|
import { f as fileLinkIssues } from '../shared/ginko.raCzOPYC.mjs';
|
|
6
6
|
import { createHash, randomUUID } from 'node:crypto';
|
|
7
|
-
import { c as checkSite, s as serializeSchema } from '../shared/ginko.
|
|
7
|
+
import { c as checkSite, s as serializeSchema } from '../shared/ginko.B1-DoOea.mjs';
|
|
8
|
+
import { g as siteForContent } from '../shared/ginko.C-oz8wwI.mjs';
|
|
8
9
|
import { L as redirectProblems, N as entryRedirects, F as coreMessage } from '../shared/ginko.BNVC-g9n.mjs';
|
|
9
10
|
import { w as withMarkdownRefs, f as fileMarkdownRef } from '../shared/ginko.DIl7l-75.mjs';
|
|
10
11
|
import '../shared/ginko.D1PeQ3ds.mjs';
|
|
11
|
-
import '../shared/ginko.AprJymER.mjs';
|
|
12
12
|
import 'comark';
|
|
13
13
|
import 'comark/plugins/alert';
|
|
14
14
|
import 'comark/plugins/attributes';
|
|
@@ -240,8 +240,9 @@ const module$1 = defineNuxtModule({
|
|
|
240
240
|
meta: { name: "@lupinum/ginko", configKey: "ginko", compatibility: { nuxt: "^4.6.0 || ^5.0.0-0" } },
|
|
241
241
|
// The site's data for the Nuxt SEO modules it installs (nuxt-seo.ts). Read from nuxt.config, before setup runs.
|
|
242
242
|
moduleDependencies: (nuxt) => nuxtSeoDependencies(nuxt.options.ginko, nuxt),
|
|
243
|
-
async setup(
|
|
244
|
-
if (!
|
|
243
|
+
async setup(options, nuxt) {
|
|
244
|
+
if (!options?.site || !options.bricks) throw new Error("[ginko] Option `ginko` is missing: the result of defineSite() from ginko.config.ts.");
|
|
245
|
+
const site = siteForContent(options, process.env.GINKO_CONTENT);
|
|
245
246
|
const schema = serializeSchema(site);
|
|
246
247
|
const problems = checkSite(site, schema);
|
|
247
248
|
if (problems.length) throw new Error(`[ginko] ginko.config.ts is invalid:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { m as msg, u as labelOf, i as isTranslatable, q as effectiveAlt, A as ALT_MAX, v as ALT_INVISIBLE, g as effectiveMax, x as isShown, a as parseMarkdown, y as effectiveProfile, j as bare, z as fileRefUses, D as DEFAULT_LOCALE, C as isLocale, n as sha256, M as MAX_LOCALES, E as isCurrency, F as coreMessage, G as componentProblems, H as labelProblem, I as MAX_CENTS, J as MARKDOWN_PROFILES, l as effectiveMin, K as profileCovers } from './ginko.BNVC-g9n.mjs';
|
|
2
2
|
import { r as roundedMb, C as CALENDAR_NAMES, h as holidaysOf, S as STORED_HOLIDAYS, l as limitOf, f as formatMb } from './ginko.D1PeQ3ds.mjs';
|
|
3
|
-
import { f as firstDayShown, w as workWeekOf,
|
|
3
|
+
import { f as firstDayShown, w as workWeekOf, a as startOfWeek, D as DEFAULT_WEEK, e as weekInfoOf } from './ginko.C-oz8wwI.mjs';
|
|
4
4
|
|
|
5
5
|
const PREFILL_TOKENS = ["@today", "@workWeek", "@nextWorkWeek"];
|
|
6
6
|
const isPrefillToken = (value) => PREFILL_TOKENS.includes(value);
|
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
function defineSite(site) {
|
|
2
|
+
return site;
|
|
3
|
+
}
|
|
4
|
+
function withoutFiles(site) {
|
|
5
|
+
const bricks = Object.fromEntries(Object.entries(site.bricks).map(([key, { source: _, ...brick }]) => [key, brick]));
|
|
6
|
+
return { ...site, bricks };
|
|
7
|
+
}
|
|
8
|
+
function siteForContent(site, content) {
|
|
9
|
+
if (!content) return site;
|
|
10
|
+
if (content === "platform") {
|
|
11
|
+
const bricks = Object.fromEntries(Object.entries(site.bricks).map(([key, brick]) => {
|
|
12
|
+
const copy = { ...brick };
|
|
13
|
+
delete copy.source;
|
|
14
|
+
return [key, copy];
|
|
15
|
+
}));
|
|
16
|
+
return { ...site, bricks };
|
|
17
|
+
}
|
|
18
|
+
throw new Error(`GINKO_CONTENT must be "platform" or unset, not "${content}".`);
|
|
19
|
+
}
|
|
20
|
+
function single(input) {
|
|
21
|
+
return { kind: "single", ...input, tasks: input.tasks };
|
|
22
|
+
}
|
|
23
|
+
function collection(input) {
|
|
24
|
+
return { kind: "collection", ...input, tasks: input.tasks };
|
|
25
|
+
}
|
|
26
|
+
|
|
1
27
|
function todayIn(timeZone, now = /* @__PURE__ */ new Date()) {
|
|
2
28
|
const parts = new Intl.DateTimeFormat("en-CA", { timeZone, year: "numeric", month: "2-digit", day: "2-digit" }).formatToParts(now);
|
|
3
29
|
const get = (t) => parts.find((p) => p.type === t)?.value ?? "";
|
|
@@ -66,4 +92,4 @@ function resolveToken(token, timeZone, week, now = /* @__PURE__ */ new Date()) {
|
|
|
66
92
|
return void 0;
|
|
67
93
|
}
|
|
68
94
|
|
|
69
|
-
export { DEFAULT_WEEK as D,
|
|
95
|
+
export { DEFAULT_WEEK as D, startOfWeek as a, addDays as b, collection as c, defineSite as d, weekInfoOf as e, firstDayShown as f, siteForContent as g, withoutFiles as h, zoneOffset as i, resolveToken as r, single as s, todayIn as t, workWeekOf as w, zonedDateTime as z };
|
|
@@ -189,6 +189,12 @@ declare function defineSite<const S extends SiteInput>(site: S & {
|
|
|
189
189
|
* files site can move to the platform without changing its bricks.
|
|
190
190
|
*/
|
|
191
191
|
declare function withoutFiles<const S extends SiteInput>(site: S): WithoutFiles<S>;
|
|
192
|
+
/**
|
|
193
|
+
* The site for the content source `GINKO_CONTENT` names: unset or empty keeps the config as it is, `platform` is
|
|
194
|
+
* `withoutFiles(site)`. A files site deployed with `GINKO_CONTENT=platform` reads the Studio without a code change
|
|
195
|
+
* (the hosted template demos); the Nuxt module and the CLI both read it, so the build and `ginko release` agree.
|
|
196
|
+
*/
|
|
197
|
+
declare function siteForContent(site: SiteInput, content: string | undefined): SiteInput;
|
|
192
198
|
/** `S` with no `source` on any brick. */
|
|
193
199
|
type WithoutFiles<S extends SiteInput> = Omit<S, 'bricks'> & {
|
|
194
200
|
bricks: {
|
|
@@ -254,5 +260,5 @@ declare function collection<const F extends Fields, const R extends Record<Local
|
|
|
254
260
|
status?: CollectionStatus<FieldsOfType<F, 'date' | 'daterange'>, keyof F & string>;
|
|
255
261
|
}): CollectionBrick<F, R>;
|
|
256
262
|
|
|
257
|
-
export { checkLinks as d, collection as e, defineSite as f, entryRedirects as g, externalLinks as h, findRedirect as i, resolveRouteLinks as j, linkTargets as l, matchRedirect as m, redirectProblems as r, single as s, withoutFiles as w };
|
|
263
|
+
export { checkLinks as d, collection as e, defineSite as f, entryRedirects as g, externalLinks as h, findRedirect as i, resolveRouteLinks as j, siteForContent as k, linkTargets as l, matchRedirect as m, redirectProblems as r, single as s, withoutFiles as w };
|
|
258
264
|
export type { CheckLinksOptions as C, ExternalLink as E, LinkConfig as L, Migration as M, RouteTemplate as R, SiteInput as S, WithoutFiles as W, LinkIssue as a, MigrationContext as b, Redirect as c };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as BrickSource, c as Label, f as CollectionBrick, i as TextField, D as DateField, T as Task, M as MarkdownTree, L as Locale, j as SlugField, k as DateRangeField, l as TimeField, m as MarkdownField, n as MoneyField, I as ImageField, o as BooleanField, p as Field, q as RefField, r as ChoiceField, F as Fields, s as Holiday, H as HolidaysOption, t as HolidayCalendar, u as StoredHolidays, v as ListField, h as SingleBrick, N as NumberField } from './ginko.DrkUeYFP.mjs';
|
|
2
|
-
import { R as RouteTemplate } from './ginko.
|
|
2
|
+
import { R as RouteTemplate } from './ginko.DkIc0ZZk.mjs';
|
|
3
3
|
|
|
4
4
|
/** Options every basics factory takes. */
|
|
5
5
|
interface BasicsOptions {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as BrickSource, c as Label, f as CollectionBrick, i as TextField, D as DateField, T as Task, M as MarkdownTree, L as Locale, j as SlugField, k as DateRangeField, l as TimeField, m as MarkdownField, n as MoneyField, I as ImageField, o as BooleanField, p as Field, q as RefField, r as ChoiceField, F as Fields, s as Holiday, H as HolidaysOption, t as HolidayCalendar, u as StoredHolidays, v as ListField, h as SingleBrick, N as NumberField } from './ginko.DrkUeYFP.js';
|
|
2
|
-
import { R as RouteTemplate } from './ginko.
|
|
2
|
+
import { R as RouteTemplate } from './ginko.CLzVaDi4.js';
|
|
3
3
|
|
|
4
4
|
/** Options every basics factory takes. */
|
|
5
5
|
interface BasicsOptions {
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
function defineSite(site) {
|
|
2
|
-
return site;
|
|
3
|
-
}
|
|
4
|
-
function withoutFiles(site) {
|
|
5
|
-
const bricks = Object.fromEntries(Object.entries(site.bricks).map(([key, { source: _, ...brick }]) => [key, brick]));
|
|
6
|
-
return { ...site, bricks };
|
|
7
|
-
}
|
|
8
|
-
function single(input) {
|
|
9
|
-
return { kind: "single", ...input, tasks: input.tasks };
|
|
10
|
-
}
|
|
11
|
-
function collection(input) {
|
|
12
|
-
return { kind: "collection", ...input, tasks: input.tasks };
|
|
13
|
-
}
|
|
14
|
-
|
|
15
1
|
function seoHead(input) {
|
|
16
2
|
const { siteName, description, image, noindex } = input;
|
|
17
3
|
const title = input.title || void 0;
|
|
@@ -127,4 +113,4 @@ function formatMoney(money, language, options = {}) {
|
|
|
127
113
|
return text.replace(/\s/g, "\xA0");
|
|
128
114
|
}
|
|
129
115
|
|
|
130
|
-
export { ORGANIZATION_TYPES as O,
|
|
116
|
+
export { ORGANIZATION_TYPES as O, articleLd as a, breadcrumbJsonLd as b, compact as c, faqLd as d, siteHeaders as e, formatMoney as f, withCountry as g, isPreviewHost as i, minorDigits as m, organizationLd as o, postalAddressLd as p, robotsTxt as r, seoHead as s, websiteLd as w };
|
|
@@ -189,6 +189,12 @@ declare function defineSite<const S extends SiteInput>(site: S & {
|
|
|
189
189
|
* files site can move to the platform without changing its bricks.
|
|
190
190
|
*/
|
|
191
191
|
declare function withoutFiles<const S extends SiteInput>(site: S): WithoutFiles<S>;
|
|
192
|
+
/**
|
|
193
|
+
* The site for the content source `GINKO_CONTENT` names: unset or empty keeps the config as it is, `platform` is
|
|
194
|
+
* `withoutFiles(site)`. A files site deployed with `GINKO_CONTENT=platform` reads the Studio without a code change
|
|
195
|
+
* (the hosted template demos); the Nuxt module and the CLI both read it, so the build and `ginko release` agree.
|
|
196
|
+
*/
|
|
197
|
+
declare function siteForContent(site: SiteInput, content: string | undefined): SiteInput;
|
|
192
198
|
/** `S` with no `source` on any brick. */
|
|
193
199
|
type WithoutFiles<S extends SiteInput> = Omit<S, 'bricks'> & {
|
|
194
200
|
bricks: {
|
|
@@ -254,5 +260,5 @@ declare function collection<const F extends Fields, const R extends Record<Local
|
|
|
254
260
|
status?: CollectionStatus<FieldsOfType<F, 'date' | 'daterange'>, keyof F & string>;
|
|
255
261
|
}): CollectionBrick<F, R>;
|
|
256
262
|
|
|
257
|
-
export { checkLinks as d, collection as e, defineSite as f, entryRedirects as g, externalLinks as h, findRedirect as i, resolveRouteLinks as j, linkTargets as l, matchRedirect as m, redirectProblems as r, single as s, withoutFiles as w };
|
|
263
|
+
export { checkLinks as d, collection as e, defineSite as f, entryRedirects as g, externalLinks as h, findRedirect as i, resolveRouteLinks as j, siteForContent as k, linkTargets as l, matchRedirect as m, redirectProblems as r, single as s, withoutFiles as w };
|
|
258
264
|
export type { CheckLinksOptions as C, ExternalLink as E, LinkConfig as L, Migration as M, RouteTemplate as R, SiteInput as S, WithoutFiles as W, LinkIssue as a, MigrationContext as b, Redirect as c };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as calendarOfCountry } from './ginko.D1PeQ3ds.mjs';
|
|
2
|
-
import { t as todayIn, z as zonedDateTime } from './ginko.
|
|
2
|
+
import { c as collection, s as single, t as todayIn, z as zonedDateTime } from './ginko.C-oz8wwI.mjs';
|
|
3
3
|
import { f, p as plainText } from './ginko.BNVC-g9n.mjs';
|
|
4
|
-
import { m as minorDigits
|
|
4
|
+
import { m as minorDigits } from './ginko.DCHGkQ7P.mjs';
|
|
5
5
|
|
|
6
6
|
const sourceOf = (o) => o.source ? { source: o.source } : {};
|
|
7
7
|
|
|
@@ -1,44 +1,8 @@
|
|
|
1
1
|
import { i as isTranslatable, A as ALT_MAX, g as effectiveMax, m as msg, h as stableJson, j as bare, k as sameLabel, l as effectiveMin, n as sha256, r as resolveRouteLinks, o as resolveFileRefs, q as effectiveAlt } from './ginko.BNVC-g9n.mjs';
|
|
2
|
-
import { B as BRICK_KEYS, F as FIELD_KEYS, S as SCHEMA_KEYS } from './ginko.
|
|
3
|
-
import {
|
|
2
|
+
import { B as BRICK_KEYS, F as FIELD_KEYS, S as SCHEMA_KEYS } from './ginko.B1-DoOea.mjs';
|
|
3
|
+
import { b as addDays } from './ginko.C-oz8wwI.mjs';
|
|
4
4
|
import { B as BUNDLE_FORMAT, w as withMarkdownTrees } from './ginko.yKMIjJ68.mjs';
|
|
5
5
|
|
|
6
|
-
class CliError extends Error {
|
|
7
|
-
code;
|
|
8
|
-
constructor(message, code = "INVALID") {
|
|
9
|
-
super(message);
|
|
10
|
-
this.code = code;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
-
function parseReleaseState(value) {
|
|
15
|
-
if (!isObject(value)) throw new CliError("The platform did not return a valid state.", "UNAVAILABLE");
|
|
16
|
-
const { site, schema, schemaRev, contentRev, migrations, entries } = value;
|
|
17
|
-
const valid = typeof site === "string" && isObject(schema) && isObject(schema.bricks) && Array.isArray(schema.migrations) && isObject(schema.retired) && typeof schemaRev === "number" && typeof contentRev === "number" && Array.isArray(migrations) && Array.isArray(entries) && entries.every((e) => isObject(e) && typeof e.id === "string" && typeof e.brick === "string" && isObject(e.data));
|
|
18
|
-
if (!valid) throw new CliError("The platform returned an incomplete state.", "UNAVAILABLE");
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
const EXTENSIONS = {
|
|
22
|
-
"image/jpeg": ".jpg",
|
|
23
|
-
"image/png": ".png",
|
|
24
|
-
"image/webp": ".webp",
|
|
25
|
-
"image/avif": ".avif",
|
|
26
|
-
"application/pdf": ".pdf"
|
|
27
|
-
};
|
|
28
|
-
function defaultDir(site, now) {
|
|
29
|
-
return `ginko-export-${site}-${now.toISOString().slice(0, 10)}`;
|
|
30
|
-
}
|
|
31
|
-
function pathOf(file) {
|
|
32
|
-
return `files/${file.id}${EXTENSIONS[file.mime] ?? ""}`;
|
|
33
|
-
}
|
|
34
|
-
function parseExport(value, locator, problem) {
|
|
35
|
-
const optionalNumber = (v) => v === void 0 || typeof v === "number";
|
|
36
|
-
const optionalString = (v) => v === void 0 || typeof v === "string";
|
|
37
|
-
const valid = isObject(value) && value.format === 1 && typeof value.site === "string" && typeof value.name === "string" && typeof value.exportedAt === "string" && isObject(value.schema) && isObject(value.schema.bricks) && typeof value.schemaRev === "number" && typeof value.contentRev === "number" && Array.isArray(value.entries) && value.entries.every((e) => isObject(e) && typeof e.id === "string" && typeof e.brick === "string" && (e.kind === "single" || e.kind === "item") && typeof e.order === "number" && isObject(e.data) && isObject(e.prints) && typeof e.rev === "number" && optionalNumber(e.deletedAt)) && Array.isArray(value.files) && value.files.every((f) => isObject(f) && typeof f.id === "string" && typeof f.name === "string" && typeof f.mime === "string" && typeof f.size === "number" && typeof f[locator] === "string" && optionalNumber(f.width) && optionalNumber(f.height) && optionalString(f.folder) && optionalString(f.sha256) && (f.kept === void 0 || typeof f.kept === "boolean") && (f.original === void 0 || f.original === true) && (f.alt === void 0 || isObject(f.alt) && Object.values(f.alt).every((text) => typeof text === "string")) && (f.focus === void 0 || isObject(f.focus) && typeof f.focus.x === "number" && typeof f.focus.y === "number")) && (value.folders === void 0 || Array.isArray(value.folders) && value.folders.every((f) => isObject(f) && typeof f.id === "string" && typeof f.name === "string" && optionalString(f.parent)));
|
|
38
|
-
if (!valid) throw new CliError(problem, "UNAVAILABLE" );
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
6
|
const SITE_BUDGET = { siteBytes: 4 * 1024 * 1024, entries: 2e3, entryBytes: 480 * 1024, treeBytes: 8 * 1024 * 1024, trashBytes: 4 * 1024 * 1024 };
|
|
43
7
|
function byteSize(value) {
|
|
44
8
|
return new TextEncoder().encode(JSON.stringify(value ?? null)).byteLength;
|
|
@@ -568,4 +532,40 @@ function applyDefaults(bundle, schema) {
|
|
|
568
532
|
return { ...bundle, bricks };
|
|
569
533
|
}
|
|
570
534
|
|
|
535
|
+
class CliError extends Error {
|
|
536
|
+
code;
|
|
537
|
+
constructor(message, code = "INVALID") {
|
|
538
|
+
super(message);
|
|
539
|
+
this.code = code;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
543
|
+
function parseReleaseState(value) {
|
|
544
|
+
if (!isObject(value)) throw new CliError("The platform did not return a valid state.", "UNAVAILABLE");
|
|
545
|
+
const { site, schema, schemaRev, contentRev, migrations, entries } = value;
|
|
546
|
+
const valid = typeof site === "string" && isObject(schema) && isObject(schema.bricks) && Array.isArray(schema.migrations) && isObject(schema.retired) && typeof schemaRev === "number" && typeof contentRev === "number" && Array.isArray(migrations) && Array.isArray(entries) && entries.every((e) => isObject(e) && typeof e.id === "string" && typeof e.brick === "string" && isObject(e.data));
|
|
547
|
+
if (!valid) throw new CliError("The platform returned an incomplete state.", "UNAVAILABLE");
|
|
548
|
+
return value;
|
|
549
|
+
}
|
|
550
|
+
const EXTENSIONS = {
|
|
551
|
+
"image/jpeg": ".jpg",
|
|
552
|
+
"image/png": ".png",
|
|
553
|
+
"image/webp": ".webp",
|
|
554
|
+
"image/avif": ".avif",
|
|
555
|
+
"application/pdf": ".pdf"
|
|
556
|
+
};
|
|
557
|
+
function defaultDir(site, now) {
|
|
558
|
+
return `ginko-export-${site}-${now.toISOString().slice(0, 10)}`;
|
|
559
|
+
}
|
|
560
|
+
function pathOf(file) {
|
|
561
|
+
return `files/${file.id}${EXTENSIONS[file.mime] ?? ""}`;
|
|
562
|
+
}
|
|
563
|
+
function parseExport(value, locator, problem) {
|
|
564
|
+
const optionalNumber = (v) => v === void 0 || typeof v === "number";
|
|
565
|
+
const optionalString = (v) => v === void 0 || typeof v === "string";
|
|
566
|
+
const valid = isObject(value) && value.format === 1 && typeof value.site === "string" && typeof value.name === "string" && typeof value.exportedAt === "string" && isObject(value.schema) && isObject(value.schema.bricks) && typeof value.schemaRev === "number" && typeof value.contentRev === "number" && Array.isArray(value.entries) && value.entries.every((e) => isObject(e) && typeof e.id === "string" && typeof e.brick === "string" && (e.kind === "single" || e.kind === "item") && typeof e.order === "number" && isObject(e.data) && isObject(e.prints) && typeof e.rev === "number" && optionalNumber(e.deletedAt)) && Array.isArray(value.files) && value.files.every((f) => isObject(f) && typeof f.id === "string" && typeof f.name === "string" && typeof f.mime === "string" && typeof f.size === "number" && typeof f[locator] === "string" && optionalNumber(f.width) && optionalNumber(f.height) && optionalString(f.folder) && optionalString(f.sha256) && (f.kept === void 0 || typeof f.kept === "boolean") && (f.original === void 0 || f.original === true) && (f.alt === void 0 || isObject(f.alt) && Object.values(f.alt).every((text) => typeof text === "string")) && (f.focus === void 0 || isObject(f.focus) && typeof f.focus.x === "number" && typeof f.focus.y === "number")) && (value.folders === void 0 || Array.isArray(value.folders) && value.folders.every((f) => isObject(f) && typeof f.id === "string" && typeof f.name === "string" && optionalString(f.parent)));
|
|
567
|
+
if (!valid) throw new CliError(problem, "UNAVAILABLE" );
|
|
568
|
+
return value;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
571
|
export { urlClashes as A, urlsFor as B, CliError as C, SITE_BUDGET as S, fitsBudget as a, diffSchema as b, largestFieldBytes as c, defaultsFor as d, entryBytes as e, fieldsChanged as f, parseReleaseState as g, pathOf as h, isObject as i, defaultDir as j, isVisible as k, largestEntryBytes as l, printOf as m, applyDefaults as n, blockedSlugs as o, parseExport as p, buildBundle as q, releaseData as r, byteSize as s, deletesExpired as t, resolveEntry as u, visibleUntil as v, routeUrls as w, servedBundle as x, sortEntries as y, untranslatedMode as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lupinum/ginko",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Ginko: a typed, file-based content model for Nuxt sites (core, CLI and Nuxt module).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Lupinum OG <info@lupinum.com> (https://lupinum.com)",
|
|
@@ -66,14 +66,14 @@
|
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
68
|
"@comark/vue": "0.7.0",
|
|
69
|
-
"@lupinum/ginko-i18n": "^0.
|
|
69
|
+
"@lupinum/ginko-i18n": "^0.6.0",
|
|
70
70
|
"@nuxt/kit": "^4.6.0",
|
|
71
71
|
"@zbsearch/stemmers": "4.0.1",
|
|
72
72
|
"comark": "0.7.0",
|
|
73
73
|
"minisearch": "7.2.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
|
-
"@lupinum/ginko-content": "^0.
|
|
76
|
+
"@lupinum/ginko-content": "^0.6.0",
|
|
77
77
|
"@vue/test-utils": "2.5.1",
|
|
78
78
|
"happy-dom": "20.14.5",
|
|
79
79
|
"nuxt": "4.6.0",
|