Bir yazı dosyadan web sayfasına nasıl dönüşüyor?
Bu sitenin Markdown, React ve ASP.NET Core arasında kurduğu küçük yayın akışı; veritabanı olmadan içerik yönetiminin kazançları ve sınırları.
Bir blog yazısının metni çoğu ziyaretçi için aynıdır. Buna rağmen her ziyaret için veritabanına gitmek ve aynı içeriği yeniden hazırlamak zorunda değiliz. Bu sitede metinler dosyalarda tutuluyor, sayfalar yayın paketi hazırlanırken üretiliyor.
Bu yazı, sitenin mevcut içerik akışını anlatan bir geliştirme notu. Amaç daha fazla araç eklemekten önce, küçük bir kişisel sitenin gerçekten neye ihtiyaç duyduğunu belirlemek.
Başlangıç noktası: Markdown
Her makale bir Markdown dosyası. Başında başlık, adres, kısa açıklama ve yayın tarihi gibi bilgiler bulunuyor. Yazının taslak olup olmadığı da açıkça belirtiliyor:
title: "Yeni bir geliştirme notu"
slug: yeni-bir-gelistirme-notu
description: "Bu yazı hangi soruya cevap veriyor?"
publishedAt: 2026-10-27
draft: true
draft: true olan bir yazı yayın çıktısına girmez. Tarihi henüz gelmemiş yazılar da dışarıda kalır. Kaynak dosyayı düzenlemek ile onu okuyucuya sunmak böylece iki ayrı adım olur.
Hataları yayın öncesinde yakalamak
Dosya tabanlı içerik, kuralsız içerik demek değildir. Derleme sırasında başlık ve tarih alanları, dosya adıyla slug'ın eşleşmesi, iç bağlantılar ve görseller kontrol ediliyor.
Yanlış bir adresi ancak okuyucu tıkladığında öğrenmek yerine, yayın paketi hazırlanırken durmak daha faydalı. Kod bloklarının renklendirilmesi ve Markdown'ın güvenli HTML'ye dönüştürülmesi de bu aşamada tamamlanıyor.
React'in görevi
React Router, yayımlanacak yolları kullanarak sayfaları önceden oluşturuyor. Çıktı, okunabilir HTML ile birlikte CSS, JavaScript ve istemci gezinmesinde kullanılan rota veri dosyalarını içeriyor.
Böylece makale metni ilk yanıtta hazır geliyor. Mobil menü veya kod kopyalama gibi küçük etkileşimler tarayıcıda çalışırken, temel içeriği okumak JavaScript'in başlamasına bağlı kalmıyor.
.NET nerede devreye giriyor?
ASP.NET Core, hazırlanmış yayın dosyalarını sunuyor. Bir yazı için ikinci bir Markdown dönüştürücüsü veya ayrı bir içerik API'si çalıştırmıyor.
Hostun işi; doğru dosyayı doğru HTTP durumuyla sunmak, önbellek başlıklarını belirlemek ve bulunamayan adreslerde gerçek bir 404 yanıtı vermek. Node.js, geliştirme ve derleme aşamasında gerekli; üretimde ayrı bir Node sunucusu planlanmıyor.
Bu tercihin bedeli
Bir yazıyı değiştirdiğimde yeni bir paket üretmek gerekiyor. Ayrıca bir yönetim panelinden tarayıcı üzerinden düzenleme yapılamıyor. Düşük yayın hacmine sahip bu kişisel site için bu bedel makul; içerik geçmişini Git ile takip etmek ve sistemi küçük tutmak daha değerli.
İçerik üretme biçimi ileride değişirse mimari yeniden değerlendirilebilir. Bugün için dosya, doğrulama ve tek bir yayın paketi yeterli bir başlangıç.