İçeriğe geç
Gitupcms
Esc
↑↓gezin↵aç⌘Jönizle
Bu sayfada

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).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.
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() }),
});

Bu sayfa yardımcı oldu mu?