⬅️ README’ye dön

📖 Site Rehberi · 🔐 Supabase Sistemi · 🍴 Fork Kurulumu


🍴 Bu Projeyi Fork Edenler İçin Kurulum Rehberi

Bu site tamamen bana (Abdullah Eymen Asru) özel kişisel bilgiler, hesaplar ve API anahtarları içeriyor. Fork’ladıysan canlıya almadan önce aşağıdaki adımları sırayla uygulaman gerekiyor.

1. Zorunlu Değişiklikler — _config.yml

Bu dosyadaki # ---- BURAYI DOLDUR ---- ile başlayan blok içindeki her satırı kendine göre değiştir:

Alan Ne yapmalısın
title, description Kendi adın/site açıklaman
url Kendi Cloudflare Pages adresin (örn. https://kullaniciadin.pages.dev)
github_username Kendi GitHub kullanıcı adın
kutuphane_repo Kendi izleme/okuma verisini tutacağın repo (bu özelliği kullanmayacaksan bkz. “Bölüm 3 — Silme”)
izleme_projects_url / okuma_projects_url Kendi GitHub Projects panolarının linki
substack_url / substack_feed Kendi Substack adresin (kullanmıyorsan bkz. “Bölüm 3”)
google_analytics_id Kendi Google Analytics Measurement ID’in (G-XXXXXXX)
profile_image assets/ klasörüne kendi fotoğrafını yükleyip yolunu yaz
cloudflare_worker_url Kendi Cloudflare Worker adresin (kullanmıyorsan bkz. “Bölüm 3”)
mirror_site_url Kendi GitHub Pages yedek adresin (kullaniciadin.github.io)
giscus: bloğu giscus.app adresine git, KENDİ repo’nu bağlayıp repo, repo_id, category, category_id değerlerini oradan kopyala
social: altındaki tüm linkler Kendi sosyal medya/akademik profil linklerin — kullanmadığın satırları sil

2. Zorunlu Değişiklikler — _config_cloudflare.yml

Buradaki google_analytics_id‘yi de kendi Analytics ID’in ile değiştir (veya _config.yml‘dekiyle aynısını kullanacaksan bu dosyayı tamamen silebilirsin).

3. Kullanmak İstemediğin Özellikleri Silme

Aşağıdaki her blok bağımsızdır — sadece istemediğini sil, geri kalanına dokunma.

Yorum sistemini (giscus) kaldırmak istersen:

Yorumlar

Yorum yapabilmek için GitHub hesabınla giriş yapman gerekiyor. Hiçbir ek kayıt/üyelik yok, sadece GitHub yetkilendirmesi yeterli.

` satırını bul ve sil

İletişim formunu kaldırmak istersen:

İzlediklerim/Okuduklarım (Cloudflare Worker) özelliğini kaldırmak istersen:

Akademik projeler / Substack blog bağlantısını kaldırmak istersen:

Zamanlanmış/gizli yazı otomasyonunu (GitHub Actions) kaldırmak istersen:

Android uygulama bağlantısını (App Links) kullanmıyorsan:

Supabase kullanıcı sistemini (kayıt/giriş/panel/admin) kaldırmak istersen:

4. Cloudflare Pages mi, GitHub Pages mi? (Birincil Adres / Barındırma Seçimi)

Bu site aynı anda iki adreste barınabilir: Cloudflare Pages (pages.dev) ve GitHub Pages (github.io). Repoyu fork’ladığında hangisini nasıl kullanacağına göre iki farklı senaryo var — hangisi sana uyuyorsa onu uygula, ikisi birbirinden bağımsızdır.

Senaryo A — İkisini de kullanmaya devam edip sadece birincil adresi değiştirmek istiyorum

Örneğin Google’ın indekslediği/canonical adresin pages.dev yerine github.io olsun istiyorsun, ama Cloudflare Pages’i yedek olarak kullanmaya devam edeceksin. Sadece 3 satır değişiyor, kod tarafında başka hiçbir şeye dokunman gerekmiyor (sitemap.xml, feed.xml, canonical/og:url etiketleri hepsi aşağıdaki url: değerini otomatik takip eder):

Dosya Satır Şimdi Değişecek
_config.yml url: https://kullaniciadin.pages.dev https://kullaniciadin.github.io
_config.yml mirror_site_url: https://kullaniciadin.github.io https://kullaniciadin.pages.dev
robots.txt Sitemap: satırı .../pages.dev/sitemap.xml .../github.io/sitemap.xml

Kod dışında (repo’da olmayan) ayrıca yapman gerekenler:

İki Cloudflare Worker ve iki Supabase Edge Function’ı (delete-account, admin-change-email) zaten her iki adresi de izin listesinde tuttuğu için, hangisini birincil yaparsan yap ikisi de çalışmaya devam eder — onlara dokunmuyorsun.

Senaryo B — Cloudflare Pages’i tamamen bırakıp SADECE GitHub Pages kullanacağım

5. Secret / Gizli Anahtarlar — Nerede, Nasıl Tanımlanır

Bu projede kod içine asla düz yazılmaması gereken tek secret, Cloudflare Pages’i otomatik build tetikleyen deploy hook URL’idir. (Google Analytics ID ve giscus ayarları secret değildir, herkese açık görünebilir bilgilerdir, bu yüzden _config.yml içinde düz yazılıdır.)

Secret adı Nerede kullanılır Nasıl oluşturulur Nereye eklenir
CLOUDFLARE_DEPLOY_HOOK_URL .github/workflows/zamanlanmis-yayin.yml Cloudflare Pages projeni aç → Settings → Builds & deployments → Deploy Hooks → yeni bir hook oluştur, verdiği URL’i kopyala GitHub repo’nda Settings → Secrets and variables → Actions → New repository secret → isim: CLOUDFLARE_DEPLOY_HOOK_URL, değer: kopyaladığın URL

Bu projede kullanılan diğer üçüncü parti servisler (Google Analytics, giscus, Google Forms) API anahtarı değil, herkese açık/genel amaçlı ID’ler kullanır; bunları _config.yml veya ilgili .md dosyasına doğrudan yazman güvenlidir, GitHub Secrets’a eklemene gerek yoktur.

6. Yayına Alma Sırası (Özet)

  1. Yukarıdaki _config.yml ve _config_cloudflare.yml alanlarını doldur
  2. İstemediğin özellikleri “Bölüm 3”e göre sil
  3. Cloudflare Pages’te yeni bir proje oluştur, bu repo’yu bağla
    • Build command: bundle exec jekyll build --config _config.yml,_config_cloudflare.yml
    • Build output directory: _site
  4. Zamanlanmış yayın özelliğini kullanacaksan CLOUDFLARE_DEPLOY_HOOK_URL secret’ını ekle (Bölüm 5)
  5. GitHub Pages’i de yedek olarak kullanacaksan repo Settings → Pages üzerinden aktif et

⬅️ README’ye dön

📖 Site Rehberi · 🔐 Supabase Sistemi · 🍴 Fork Kurulumu