🚀 MkDocs Site Yayınlama Rehberi (GitHub Pages)
Bu dökümantasyon, MkDocs tabanlı siteni GitHub Pages üzerinde yayınlamak için gereken adımları içerir. Ayrıca özel domain (örneğin docs.mustafasaidsulak.com) kullanımını da kapsar.
🧩 1. Gerekli Kurulumlar
Sistemde MkDocs ve Material temasının kurulu olduğundan emin ol:
pip install mkdocs
pip install mkdocs-material
Özel alan adı kullanıyorsan proje kök dizinine bir CNAME dosyası ekle:
docs.mustafasaidsulak.com
⚙️ 2. Yapılandırma (mkdocs.yml)
Proje kökünde mkdocs.yml adlı dosya bulunmalı. Örnek yapılandırma:
site_name: Mustafa Said Sulak Docs
site_url: https://docs.mustafasaidsulak.com
theme:
name: material
nav:
- Ana Sayfa: index.md
- Kurulumlar: kurulumlar.md
🧱 3. Siteyi Yerelde Test Et
Değişiklikleri yerelde görmek için aşağıdaki komutu çalıştır:
mkdocs serve
Ardından tarayıcıdan http://127.0.0.1:8000 adresine gir. Her değişiklik anında tarayıcıya yansır.
📦 4. Siteyi Derle (Statik Dosya Üretimi)
Aşağıdaki komutla siteni statik HTML dosyalarına dönüştür:
mkdocs build
Bu işlem sonunda site/ klasörü oluşturulur. Tüm HTML, CSS ve JavaScript dosyaların burada yer alır.
🌍 5. GitHub Pages Üzerinde Yayınla
Siteni GitHub Pages’a göndermek için tek komut yeterlidir:
mkdocs gh-deploy --force
Bu komut:
- Siteni yeniden oluşturur
gh-pagesadlı branch’e yükler- GitHub Pages üzerinde otomatik olarak yayınlar
🔗 6. GitHub Pages Ayarlarını Kontrol Et
GitHub’da:
- Repository → Settings sekmesine git
- Pages bölümünü aç
-
Aşağıdaki ayarların olduğundan emin ol:
-
Source:
gh-pages - Folder:
/ (root)
🧹 7. site/ Klasörünü Git Takibinden Çıkar (Önerilir)
site/ klasörü her deploy’da yeniden oluşturulduğu için git tarafından izlenmesine gerek yoktur. .gitignore dosyana şu satırı ekle:
site/
💡 8. Güncelleme Yapmak
Yeni bir sayfa eklediğinde veya içerik değiştirdiğinde sadece şu komutu çalıştır:
mkdocs gh-deploy --force
GitHub Pages ve özel domain (örneğin docs.mustafasaidsulak.com) otomatik olarak güncellenir. DNS veya Cloudflare önbellek nedeniyle bazen değişikliklerin görünmesi 1–5 dakika sürebilir.
🧠 Ek İpucu: Önbellek Sorunlarını Önleme
Tarayıcıların eski sürümü göstermemesi için Cloudflare ayarlarında şunu yapabilirsin:
- Caching → Configuration → Browser Cache TTL:
Respect Existing Headers - Cache Rules:
URL: docs.mustafasaidsulak.com/*
Setting: Cache Level = Bypass
Alternatif olarak JavaScript ve CSS dosyalarının sonuna sürüm parametresi ekleyebilirsin:
extra_javascript:
- js/main.js?v=1.0.3
extra_css:
- css/style.css?v=1.0.3
✅ Artık MkDocs tabanlı siteni GitHub Pages üzerinde kolayca yayınlayabilir, her güncellemede sadece tek bir komutla yeni sürümü canlıya alabilirsin.