50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import { config, collection, fields, singleton } from "@keystatic/core";
|
|
|
|
export default config({
|
|
storage: {
|
|
kind: "local",
|
|
},
|
|
collections: {
|
|
paintings: collection({
|
|
label: "Paintings",
|
|
slugField: "title",
|
|
path: "src/content/paintings/*",
|
|
schema: {
|
|
title: fields.slug({ name: { label: "Title" } }),
|
|
image: fields.image({
|
|
label: "Image",
|
|
description: "Photograph of the painting",
|
|
}),
|
|
year: fields.integer({ label: "Year" }),
|
|
medium: fields.text({ label: "Medium" }),
|
|
dimensions: fields.text({ label: "Dimensions" }),
|
|
description: fields.text({
|
|
label: "Description",
|
|
multiline: true,
|
|
}),
|
|
featured: fields.checkbox({
|
|
label: "Featured",
|
|
defaultValue: false,
|
|
}),
|
|
},
|
|
}),
|
|
},
|
|
singletons: {
|
|
about: singleton({
|
|
label: "About",
|
|
path: "src/content/about/index",
|
|
format: "yaml",
|
|
schema: {
|
|
photo: fields.image({
|
|
label: "Photo",
|
|
description: "Artist portrait",
|
|
}),
|
|
bio: fields.text({
|
|
label: "Bio",
|
|
multiline: true,
|
|
}),
|
|
},
|
|
}),
|
|
},
|
|
});
|