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.