Organism şemasındaki bir alan tanımının otomatik CMS formuna dönüşmesinin adım adım açıklaması.
AstroForge'un schema pipeline'ı, geliştiricilerin CMS form konfigürasyonuna zaman harcamak zorunda kalmamasını sağlar. Fikir basit: organism'ı TypeScript'te tanımla, CMS formları kendiliğinden üretilsin.
src/lib/config/organism-schemas.ts, her organism için alan tanımlarını içerir. Örnek bir tanım:
Hero: {
label: 'Hero Bölümü',
fields: [
{ key: 'badge', type: 'text', label: 'Üst Etiket' },
{ key: 'headline', type: 'text', label: 'Başlık' },
{ key: 'items', type: 'repeater', label: 'Öğeler',
fields: [
{ key: 'title', type: 'text', label: 'Başlık' }
]
}
]
}Astro integration hook'u olarak çalışan schema-integration.ts, her build başladığında organism-schemas.ts ve pages.config.ts'i okur. Her sayfa için src/content/schema/page-*.schema.json dosyalarını üretir. Bu dosyalar CMS'in form arayüzünü oluşturmak için kullandığı şema dosyalarıdır.
Schema dosyaları build sırasında üretilir ama Git'e otomatik commit edilmez. CMS bu dosyaları doğrudan GitHub'dan okur. Bu nedenle schema değişikliğinin CMS'e yansıması için şu adımlar gereklidir:
npm run build — schema dosyaları üretilirgit add src/content/schema/ cms.config.jsongit commit && git pushBu adım atlanırsa CMS eski schema'yı görür ve yeni alanlar görünmez.
Collection organism'ları için schema pipeline, otomatik olarak üç tab üretir: General (title, slug, excerpt, body, thumbnail + organism scalar'ları), SEO (meta alanları) ve organism-özel set/repeater alanları için ek tab'lar. Bu sıra her collection için sabittir.
Astro SSG: Statik Sitelerin Geleceği | AstroForge Blog
2025-05-10Çok Kiracılı CMS Nasıl Çalışır? | AstroForge Blog
2025-04-18Git-Tabanlı İçerik Yönetimi | AstroForge Blog
2025-03-25Organism Sistemi: Bileşenden Sayfaya | AstroForge Blog
2025-02-14Ajans için Template Engine Seçmek | AstroForge Blog
2025-01-30