Merhaba dünya: kendi sitemi neden sıfırdan yazdım?

Hazır bir şablon indirmek 10 dakika sürerdi. Onun yerine 30 KB'lık bir site yazdım — sebebi hız değil, kontrol.

Bir portfolyo sitesine ihtiyacım vardı: oyunlarımı koyabileceğim, linkini rahatça paylaşabileceğim bir yer. En kolay yol hazır bir tema kurmaktı ama iki şey beni durdurdu.

1. Oyunlar statik dosya, site de öyle olmalı

Yaptığım oyunların hepsi tek bir HTML dosyası, biraz JavaScript ve bir canvas'tan ibaret. Böyle bir şeyi yayınlamak için veritabanına, sunucuya ya da build adımına ihtiyaç yok. Site de aynı mantıkla çalışsın istedim: /eos klasörünü oluştur, içine oyunu koy, bitti.

Yeni oyun eklemek = bir klasör açmak + veri dosyasına üç satır yazmak.

2. Hız bir özellik

Oyun sitesine giren insan oynamak ister, yükleme ekranı izlemek değil. Tüm site — yazı tipleri hariç — 30 KB'ın altında ve tek bir CSS dosyasıyla çalışıyor. Cloudflare'in ücretsiz CDN'i üzerinden dağıtıldığı için dünyanın her yerinden neredeyse anında açılıyor.

Yeni oyun nasıl ekleniyor?

Sitenin tüm oyun listesi tek bir dosyadan besleniyor: /assets/js/games.js. Oraya bir nesne ekliyorum:

{
  slug: "eos",
  title: "EOS",
  tagline: "Kısa tanıtım.",
  year: 2026,
  tags: ["Tarayıcı"],
  accent: "#8b5cff",
  motif: "star",
  status: "wip",
  featured: true
}

Ardından kökte /eos/ klasörünü açıp oyun sayfasını koyuyorum. Ana sayfa, oyunlar sayfası ve diğer oyun sayfalarındaki "diğer oyunlar" bölümü kendiliğinden güncelleniyor.

Sırada ne var?

  • Oyunlara ortak bir skor tablosu (Cloudflare KV ile)
  • Her oyun için küçük bir tanıtım GIF'i
  • Yazıları markdown'dan üreten minik bir betik

Buraya kadar okuduysan: oyunları denemeyi unutma, geri bildirim her zaman iyi gelir.

Oyunlara göz at