---
title: Site verileri
description: 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).part` veya `(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-toml `parse`).
- 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.

```ts src/content.config.ts
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() }),
});
```

:::note
Özel parser'lar salt okunur kalır. Ortak bir YAML/TOML dosyasına yeni bir liste eklemek istiyorsanız, o listeyi kendi ayrı dosyasına taşıyın.
:::
