6 puan yazan GN⁺ 2025-05-04 | 5 yorum | WhatsApp'ta paylaş
  • Jekyll, Ghost, WordPress olmadan doğrudan blog geliştirilmiş bir örnek
  • Temel gereksinimler arasında sahip olunan alan adını kullanma, statik site üretimi, SEO uyumluluğu, kolay yazı ekleme yer alıyor
  • Temel yapı, template.html ve render.py betiği ile Markdown tabanlı yazım sayesinde tüm sayfaları otomatik olarak render ediyor
  • markdown2 Python kütüphanesi kullanılarak Markdown → HTML dönüşümü ve sayfa üretimi otomatikleştiriliyor
  • SEO ve modern web standartlarına uyarken aynı zamanda içeriği basitçe eklemeyi sağlayan yapı vurgulanıyor

Blog gereksinimleri

  • Mevcut sahip olunan alan adı kullanılmalı
  • Modern web standartları ve SEO dostu yapı korunmalı
  • Yazı eklemek çok kolay olmalı
  • Tüm sayfalar statik olarak üretilmeli

Uygulama adımlarının özeti

  • template.html dosyası yazımı → temel HTML düzeninin kurulması
  • pip install markdown2 komutuyla Markdown render aracı kurulumu
  • O1'den render için Python betiği (render.py) isteme
  • posts/ klasörü içinde eng.md biçiminde gönderi yazımı
  • render.py çalıştırılarak HTML dönüşümü ve çıktı klasörü oluşturulması

Temel HTML şablonu (template.html)

  • HTML yapısı sade ve minimal, ayrıca Markdown render çıktısı {{ content }} alanına ekleniyor
  • CSS, system-ui tabanlı yazı tipi, uyarlanabilir padding, color-scheme ayarı gibi özelliklerle okunabilirlik sağlıyor

Temel Python render betiği (render.py)

  • markdown2 kullanılarak her Markdown gönderisi HTML'ye dönüştürülüyor
  • Dönüşüm sırasında <img> yolları otomatik olarak /posts/{post_code}/ ile değiştiriliyor
  • HTML başlığı, Markdown içindeki # başlığından çıkarılıyor
  • index.html, greetings.md + her gönderinin başlık listesinden oluşuyor
  • Çıktılar ./blog/ klasörüne .html olarak kaydediliyor

5 yorum

 
ifmkl 2025-05-07

Ben de şu anda blogumu tam olarak yukarıdaki gibi işletiyorum. Kişisel gereksinimlerimi karşılayan bir SSG oluşturup kullanıyorum. Yani küçük görsel, kategori ve etiket özelliklerinden yararlanmak için ayrı ayrı özel işlevler ekledim. Eklediğim görselleri otomatik olarak webp'ye dönüştürüp ona göre referans veriyorum ve bu sayede render hızı beni fazlasıyla memnun ediyor.

 
winterjung 2025-05-07

Aa, bu tür özel işlevleri doğrudan kod yazarak mı ekliyorsunuz? Ben de hep DIY yapmaya niyetleniyorum ama daha önce kullandığım SSG blog framework'lerinin sunduğu genişletme ve eklenti özellikleri yüzünden tereddütte kalıyorum.

 
ifmkl 2025-05-07

Açgözlülüğü bırakıp sadece o kısmı çıkardığınızda gerisi aslında çok da zor değil. ssg de yapay zekadan isterseniz tüm kodu yazıyor; özellik eklemesini söylerseniz aslında hepsini ekliyor haha

 
ndrgrd 2025-05-04

Sadece güzel bir font seçince okunur hâle geliyor.

 
GN⁺ 2025-05-04
Hacker News görüşleri
  • Bloga başlarken SSG kullandı, ancak sonunda Wordpress'e geçerek daha özgür hale geldi

    • Yazı yazmayı engelleyen araçlardan kaçınmanın önemli olduğu belirtiliyor
    • Yazmaya odaklanmak için ertelemekten kaçınmak gerekiyor
  • Bir blog sayılmak için gereken iki unsur

    • Gönderiler tarih sırasına göre sıralanmalı ve tarih gösterilmeli
    • RSS akışı gerekli
  • Bağımsız web sitelerine duyulan sevgi

    • 25 yıl önce ASP ile başlayan web sitesi şimdi Common Lisp ile çalışıyor
    • Minimum özellikli bir web sitesiyle başlayıp zamanla özellikler eklendi
    • Yeni fikirler her zaman cazip, ancak projenin kontrolden çıkacak kadar büyümemesine dikkat ediliyor
  • Tarayıcıda text/markdown ve text/gemini için yerel destek isteniyor

    • Diğer biçimlerin desteği, yayınlama eşiğini düşürür ve kontrolü yeniden kullanıcılara verir
  • "Minimum viable blog" dizgesinin gönderi başlığıyla değiştirilmesine yol açan bir bug'a dikkat çekiliyor

  • Blogu basit HTML sayfalarıyla yürüttü, ancak artık Astro kullanarak daha gelişmiş bir site işletiyor

    • Astro, içerik odaklı siteler için optimize edilmiş bir platform
  • Bun JS ve HTML'i JS dizgeleri olarak kullanmaya yönelik bir deney

    • IntelliJ IDE, HTML'i algılıyor ve biçimlendirme ile vurgulama desteği sağlıyor
  • 15 yıl boyunca minimal bir blog deneyi yaparken öğrenilen birkaç numara

    • JSX, sunucu taraflı dize oluşturucu olarak kullanışlı
    • GH Pages, Jekyll'den daha kolay kullanılabiliyor
    • highlight.js, kod renklendirme için hâlâ kullanışlı
  • Hugo/Zola ve Cloudflare Pages kullanan standart statik bloglama çerçevesinin kolaylığı

    • Hugo Blog Awesome teması kullanılıyor
    • Sayfa boyutu 512kb'nin altında tutuluyor
  • Eski bir blogu yeniden canlandırma sürecinde Hexo'nun kullanışsızlığı deneyimlendi

    • Tema düzgün çalışmadığı için kendi temasını geliştirmeyi düşünüyor
    • Karmaşıklık artabilir, ancak sorunu çözmeye çalışıyor