Site verileri
Tek bir JSON, YAML veya TOML dosyasında tutulan menü, alt bilgi ve ayarlar.
Astro’nun file() loader’ını kullanan koleksiyonlar Site data olarak görünür. Hepsi tek bir dosyada durur:
- Düz bir dizi ya da anahtarlı bir nesne, kayıtlardan oluşan bir listedir.
(t) => JSON.parse(t).partveya(t) => ({ id: JSON.parse(t).part })gibi parser’lar dosyanın yalnızca bir bölümünü düzenler. Sitenizin kendi parse çağrıları da çalışır (yaml.load, smol-tomlparse).- Adı belli tek bir dosyayı hedefleyen bir
glob()(pattern: 'settings.yaml'), parser gerektirmeden tek bir ayar nesnesi olur. Dosya hangi biçimde olursa olsun bu geçerlidir.
const settings = defineCollection({
loader: glob({ base: "./src/data", pattern: "settings.yaml" }),
schema: z.object({ siteName: z.string(), phone: z.string().optional() }),
});
const nav = defineCollection({
loader: file("./src/data/nav.json"),
schema: z.object({ label: z.string(), href: z.string() }),
});