Singletons
When you want a “one-of-a-kind” data entry, such as a “Settings” page or maybe a very specific set of fields for the “Homepage” of a website, you will want to use a singleton
.
Example singleton
Here's how you'd define a settings
singleton:
// keystatic.config.ts
import { config, singleton } from '@keystatic/core';
export default config({
// ...
singletons: {
settings: singleton({
label: 'Settings',
schema: {}
}),
},
});
Path configuration
You can use the path
option to specify where to store any given singleton:
settings: singleton({
label: 'Settings',
+ path: 'custom/content/path/settings'
schema: {}
}),
By default, Keystatic will store a singleton at the root of your project, in a directory that matches the singleton key.
You can learn more about the path
option on the Content organisation page.
Type signature
Find the latest version of the Singleton
type signature at: https://docsmill.dev/npm/@keystatic/core@latest#/.Singleton