Skip to content

Commit 882a820

Browse files
Initial commit
0 parents  commit 882a820

File tree

127 files changed

+25479
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+25479
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"$ref": "#/definitions/articles",
3+
"definitions": {
4+
"articles": {
5+
"type": "object",
6+
"properties": {
7+
"title": {
8+
"type": "string"
9+
},
10+
"author": {
11+
"type": "string"
12+
},
13+
"description": {
14+
"type": "string"
15+
},
16+
"date": {
17+
"anyOf": [
18+
{
19+
"type": "string",
20+
"format": "date-time"
21+
},
22+
{
23+
"type": "string",
24+
"format": "date"
25+
},
26+
{
27+
"type": "integer",
28+
"format": "unix-time"
29+
}
30+
]
31+
},
32+
"$schema": {
33+
"type": "string"
34+
}
35+
},
36+
"required": [
37+
"title",
38+
"author"
39+
],
40+
"additionalProperties": false
41+
}
42+
},
43+
"$schema": "http://json-schema.org/draft-07/schema#"
44+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"$ref": "#/definitions/blogs",
3+
"definitions": {
4+
"blogs": {
5+
"type": "object",
6+
"properties": {
7+
"title": {
8+
"type": "string",
9+
"maxLength": 60
10+
},
11+
"publishDate": {
12+
"anyOf": [
13+
{
14+
"type": "string"
15+
},
16+
{
17+
"anyOf": [
18+
{
19+
"type": "string",
20+
"format": "date-time"
21+
},
22+
{
23+
"type": "string",
24+
"format": "date"
25+
},
26+
{
27+
"type": "integer",
28+
"format": "unix-time"
29+
}
30+
]
31+
}
32+
]
33+
},
34+
"tags": {
35+
"type": "array",
36+
"items": {
37+
"type": "string"
38+
},
39+
"default": [
40+
"rz"
41+
]
42+
},
43+
"draft": {
44+
"type": "boolean",
45+
"default": false
46+
},
47+
"author": {
48+
"type": "string"
49+
},
50+
"description": {
51+
"type": "string"
52+
},
53+
"$schema": {
54+
"type": "string"
55+
}
56+
},
57+
"required": [
58+
"title",
59+
"publishDate"
60+
],
61+
"additionalProperties": false
62+
}
63+
},
64+
"$schema": "http://json-schema.org/draft-07/schema#"
65+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$ref": "#/definitions/pages",
3+
"definitions": {
4+
"pages": {
5+
"type": "object",
6+
"properties": {
7+
"title": {
8+
"type": "string"
9+
},
10+
"author": {
11+
"type": "string"
12+
},
13+
"$schema": {
14+
"type": "string"
15+
}
16+
},
17+
"required": [
18+
"title",
19+
"author"
20+
],
21+
"additionalProperties": false
22+
}
23+
},
24+
"$schema": "http://json-schema.org/draft-07/schema#"
25+
}

.astro/content-assets.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default new Map();

.astro/content-modules.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default new Map();

.astro/content.d.ts

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
declare module 'astro:content' {
2+
interface Render {
3+
'.mdx': Promise<{
4+
Content: import('astro').MarkdownInstance<{}>['Content'];
5+
headings: import('astro').MarkdownHeading[];
6+
remarkPluginFrontmatter: Record<string, any>;
7+
components: import('astro').MDXInstance<{}>['components'];
8+
}>;
9+
}
10+
}
11+
12+
declare module 'astro:content' {
13+
export interface RenderResult {
14+
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
15+
headings: import('astro').MarkdownHeading[];
16+
remarkPluginFrontmatter: Record<string, any>;
17+
}
18+
interface Render {
19+
'.md': Promise<RenderResult>;
20+
}
21+
22+
export interface RenderedContent {
23+
html: string;
24+
metadata?: {
25+
imagePaths: Array<string>;
26+
[key: string]: unknown;
27+
};
28+
}
29+
}
30+
31+
declare module 'astro:content' {
32+
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
33+
34+
export type CollectionKey = keyof AnyEntryMap;
35+
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
36+
37+
export type ContentCollectionKey = keyof ContentEntryMap;
38+
export type DataCollectionKey = keyof DataEntryMap;
39+
40+
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
41+
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
42+
ContentEntryMap[C]
43+
>['slug'];
44+
45+
/** @deprecated Use `getEntry` instead. */
46+
export function getEntryBySlug<
47+
C extends keyof ContentEntryMap,
48+
E extends ValidContentEntrySlug<C> | (string & {}),
49+
>(
50+
collection: C,
51+
// Note that this has to accept a regular string too, for SSR
52+
entrySlug: E,
53+
): E extends ValidContentEntrySlug<C>
54+
? Promise<CollectionEntry<C>>
55+
: Promise<CollectionEntry<C> | undefined>;
56+
57+
/** @deprecated Use `getEntry` instead. */
58+
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
59+
collection: C,
60+
entryId: E,
61+
): Promise<CollectionEntry<C>>;
62+
63+
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
64+
collection: C,
65+
filter?: (entry: CollectionEntry<C>) => entry is E,
66+
): Promise<E[]>;
67+
export function getCollection<C extends keyof AnyEntryMap>(
68+
collection: C,
69+
filter?: (entry: CollectionEntry<C>) => unknown,
70+
): Promise<CollectionEntry<C>[]>;
71+
72+
export function getEntry<
73+
C extends keyof ContentEntryMap,
74+
E extends ValidContentEntrySlug<C> | (string & {}),
75+
>(entry: {
76+
collection: C;
77+
slug: E;
78+
}): E extends ValidContentEntrySlug<C>
79+
? Promise<CollectionEntry<C>>
80+
: Promise<CollectionEntry<C> | undefined>;
81+
export function getEntry<
82+
C extends keyof DataEntryMap,
83+
E extends keyof DataEntryMap[C] | (string & {}),
84+
>(entry: {
85+
collection: C;
86+
id: E;
87+
}): E extends keyof DataEntryMap[C]
88+
? Promise<DataEntryMap[C][E]>
89+
: Promise<CollectionEntry<C> | undefined>;
90+
export function getEntry<
91+
C extends keyof ContentEntryMap,
92+
E extends ValidContentEntrySlug<C> | (string & {}),
93+
>(
94+
collection: C,
95+
slug: E,
96+
): E extends ValidContentEntrySlug<C>
97+
? Promise<CollectionEntry<C>>
98+
: Promise<CollectionEntry<C> | undefined>;
99+
export function getEntry<
100+
C extends keyof DataEntryMap,
101+
E extends keyof DataEntryMap[C] | (string & {}),
102+
>(
103+
collection: C,
104+
id: E,
105+
): E extends keyof DataEntryMap[C]
106+
? string extends keyof DataEntryMap[C]
107+
? Promise<DataEntryMap[C][E]> | undefined
108+
: Promise<DataEntryMap[C][E]>
109+
: Promise<CollectionEntry<C> | undefined>;
110+
111+
/** Resolve an array of entry references from the same collection */
112+
export function getEntries<C extends keyof ContentEntryMap>(
113+
entries: {
114+
collection: C;
115+
slug: ValidContentEntrySlug<C>;
116+
}[],
117+
): Promise<CollectionEntry<C>[]>;
118+
export function getEntries<C extends keyof DataEntryMap>(
119+
entries: {
120+
collection: C;
121+
id: keyof DataEntryMap[C];
122+
}[],
123+
): Promise<CollectionEntry<C>[]>;
124+
125+
export function render<C extends keyof AnyEntryMap>(
126+
entry: AnyEntryMap[C][string],
127+
): Promise<RenderResult>;
128+
129+
export function reference<C extends keyof AnyEntryMap>(
130+
collection: C,
131+
): import('astro/zod').ZodEffects<
132+
import('astro/zod').ZodString,
133+
C extends keyof ContentEntryMap
134+
? {
135+
collection: C;
136+
slug: ValidContentEntrySlug<C>;
137+
}
138+
: {
139+
collection: C;
140+
id: keyof DataEntryMap[C];
141+
}
142+
>;
143+
// Allow generic `string` to avoid excessive type errors in the config
144+
// if `dev` is not running to update as you edit.
145+
// Invalid collection names will be caught at build time.
146+
export function reference<C extends string>(
147+
collection: C,
148+
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
149+
150+
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
151+
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
152+
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
153+
>;
154+
155+
type ContentEntryMap = {
156+
157+
};
158+
159+
type DataEntryMap = {
160+
"articles": Record<string, {
161+
id: string;
162+
body?: string;
163+
collection: "articles";
164+
data: InferEntrySchema<"articles">;
165+
rendered?: RenderedContent;
166+
filePath?: string;
167+
}>;
168+
"blogs": Record<string, {
169+
id: string;
170+
body?: string;
171+
collection: "blogs";
172+
data: InferEntrySchema<"blogs">;
173+
rendered?: RenderedContent;
174+
filePath?: string;
175+
}>;
176+
177+
};
178+
179+
type AnyEntryMap = ContentEntryMap & DataEntryMap;
180+
181+
export type ContentConfig = typeof import("../src/content.config.js");
182+
}

.astro/data-store.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)