Gazetecilikte sabit bir kural vardır: sayfa basıldığında içerik değişmez. Web'de de benzer bir gelenek var — statik site generation (SSG). Bu blogda da içerik derleme anında HTML'e dönüşüyor; CMS'ten bir kayıt yapıldığında ise ilgili sayfalar anında yeniden üretiliyor.
Neden SSG?
Üç sebep: hız, basitlik ve güvenlik. Sunucuda her istekte render yok; HTML hazır. Veritabanı sadece yorumlar gibi gerçekten dinamik şeylere ayrılıyor. Ve saldırı yüzeyi minimuma iniyor.
MDX: İçerik + Kod
Yazılarımız .mdx dosyaları olarak repoda duruyor. Frontmatter başlığı, kategoriyi ve yazarı
tutuyor; gövde ise serbest. Kod blokları vurgulu geliyor:
// lib/posts.ts — her yazı bir dosya
export function getAllPosts(includeDrafts = false): PostListItem[] {
return listPostFiles()
.map(parsePost)
.filter((p) => includeDrafts || !p.meta.draft);
}
Gömülü bileşenler ise işin güzel tarafı. Örneğin bir dosya paylaşmak istediğimizde:
Ya da önemli bir uyarıyı kutu içinde vermek istediğimizde:
Revalidation
CMS'te kayıt yapıldığında revalidatePath çağrısı ilgili sayfaları tazeler. Böylece okur her
zaman güncel içeriği görür, biz de derleme süresiyle uğraşmayız.
Sonuç: saniyeler altında açılan, arama motorlarının sevdiği, bakımı kolay bir yayın platformu.
Okur Yorumları (0)