İçerik yönetiminde en uzun ömürlü formatlardan biri hâlâ düz metin. Bu blogda yazılar GitHub deposundaki Markdown dosyalarında kalıyor; veritabanı ise yalnızca dinamik veriyi ve içerik indeksini taşıyor.
Neden iki ayrı kaynak?
Yazının kendisi sürüm kontrolünde olduğunda pull request, diff ve geri alma akışları doğal olarak çalışır. Görüntülenme, yorum ve abonelik gibi sık değişen veriler ise PostgreSQL'de yaşar.
type ContentSource = {
repository: string
branch: string
path: string
}
Bu ayrım, içerik deposunu değiştirmeden arayüzü veya CMS'i yeniden inşa etmeyi mümkün kılar.
Senkronizasyon stratejisi
GitHub webhook'u yeni bir commit sonrasında senkronizasyon endpoint'ini tetikler. Pipeline frontmatter alanlarını doğrular, içeriği veritabanına yansıtır ve ilgili sayfaları yeniden üretir.
Markdown kaynak, PostgreSQL indeks ve etkileşim katmanıdır.