JAMstack ile kişisel web sitesi kurulumu 💻️.

Kişisel web sitesi veya blog sitesi oluşturmak internetin bir parçasına sahip olmanın yollarından biri. Her ne kadar yazılan her satır kod, metin dosyası, alan adları bir son kullanım tarihine sahip olsa da kişisel web siteniz herhangi bir amaçla internette görünürlük yakalamak ve üretimde bulunmak için yapabileceğiniz en faydalı şeylerden biri.

Gelelim asıl konumuza, 2020 yılında internet günlüğü tutmak isteyen herhangi bir kişi eğer Medium veya write.as gibi neredeyse tamamen blogging için özel olarak dizayn edilmiş ücretli/ücretsiz SaaS modelli uygulamalara geçiş yapmak istemiyorsa, karşısına çıkacak seçenekler yine ücretli veya ücretsiz Wix, Squarespace, Webflow ve benzeri platformlar ve internet sitesi oluşturuculardır.

SaaS platformlarının neredeyse hepsinin üzerinde kısa bir inceleme, sundukları hizmetler konusunda yaklaşık bir fikir edinmemize yetecektir. Aynı zamanda diğer çözümlere göre artılarını ve eksilerini karşılaştırabiliriz. Kişisel düşüncem SaaS modelinin en büyük problemi: aidiyet problemidir. içeriklerinizin bütünlüğü ve nasıl sunulduğu, ne kadar süre ne şartlarda sunulacağı ve yine ne durumda sunulmasının sonlandırılacağı SaaS sunucusunun kararına bağlıdır. Bu argüman sadece potansiyel hassas konularda içerik geliştirenleri ilgilendiren bir problem değildir, aksine içeriği üretmenizden dağıtmanıza ve revize etmenize içerikte ve platformda yapacağınız sınırlı değşikliklere kadar SaaS modelinin çektiği sınırlar içinde olacaksınız. Problemleri bir kenara bırakırsak SaaS’ın sunduğu en büyük yarar altyapıyı dert etmek zorunda olmamanızdır. Medium gibi platformlar içerik oluşturmanızı sağlarken aynı zamanda kitle kazanmanıza ve etkileşim toplamanıza yardımcı olur.

Hazır altyapılara içeriğini emanet etmekten çekinenler için var olan alternatiflerin başını Wordpress çekmektedir. PHP özellikli paylaşımlı hosting servislerine tek tıkla kurulabilmesi, neredeyse her alanda ve özellikle eklentilerinin bulunması Wordpress’in yaygın kullanılmasını fazla söze gerek bırakmadan açıklamaktadır. Ancak kendisinden beklenen her şeyi gerçekleştirmeye çalışması neredeyse hiçbir şeyi “çok iyi” gerçekleştirememesine neden olmuştur. Wordpress tabiri yerindeyse kendi başarısının kurbanıdır.

Zevkler tartışmaya açık olmakla birlikte kişisel görüşüm Wordpress’in 2020’nin tasarım anlayışını out-of-the-box veremediği yönündedir. Wordpress kurduğunuzda onu sorunsuz, akıcı ve parlak arayüzlere alışmış normal bir okuyucuya kabul ettirmek için temalar üzerinde kafa yormanız, çeşitli eklentiler yüklemeniz, sitenin güvenliğini onlarca tehdide karşı aktif olarak sağlamanız ve bunların hepsini performanstan ödün vermeyerek yapmanız gerekmektedir. Bu yolculukta para harcamamak ise gerçekten zordur. Bütün bunları bir sistem hatası üzerine kaybetmek ve baştan başlamak az karşılaşılan bir durum değil. Normal bir paylaşımlı hosting servisinde çalıştırabileceğiniz diğer çözümler de Wordpress’in düştüğü hatalara benzer şekilde düşerek basit bir blog yönetimi işini büyük bir probleme dönüştürebiliyorlar. Ghost ve Kirby gibi modern çözümler yukarıda saydığım sorunlara daha somut çözümler getirseler de sizi tamamen içerikle baş başa bırakma konusunda yeterince iyi sayılmazlar. Ayrıca Ghost kullanabilmek için platformu bir Virtual Private Server üzerinde barındırmanız gerekir.

Daha önce Markdown ile çalıştıysanız veya herhangi bir metin editöründe yolunuzu bulabiliyorsanız, basit git komutlarına aşinalığınız ve aktif bir github, gitlab veya bitbucket hesabınız varsa hazırlanın başlıyoruz.

Karşımıza çıkacak ilk konsept static site generators bu araçların her biri kendi ortamlarına uyumlu olarak hazırlanmış herhangi bir site temasını barındıkları git repolarından webde sunulabilir sitelere dönüştürmek için programlanmış aracılardır. En çok kullanılanları Hugo ve Gatsby’dir.

İkinci konsept ise continuous deployment Hugo, Gatsby veya herhangi bir static generator üzerinde yapılmış temaları sizin git sunucunuzu bağlamanız dışında güvenlik, güncelleme vb konularda araya girmenize gerek kalmadan internete sunan araçlardır. En çok kullanılan çözüm netlify.com‘dur.

Bu konseptleri test etmek için netlify ve hugo kullanan bir deneme yapalım. Bu yazıyı takip edenlerin JAMstack üzerinde ilk denemesini gerçekleştirdiğini varsayarak sistemi mümkün olan net sade hali ile anlatacağım.

https://jamstackthemes.dev ve https://themes.gohugo.io adreslerini inceleyerek bir tema seçebilir veya alternatif olarak tema seçiminizi forestry.io üzerinden yapabilirsiniz. Tema seçiminizi nereden yaptığınızdan bağımsız olarak indirdiğiniz tema klasörünü ayrı bir git reposu açarak commit etmeniz gerekmektedir. Sürece forestry üzerinden devam ettiğimizi farz edersek karşımıza forestry.io tarafından açılmış içinde tema ayarları be yazılar bulunan bir klasör dizisi çıkacaktır.

Forestry.io üzerinden Wordpress üzerinde yaptığınız gibi siteniz hakkında meta içerikleri değiştirebilir görsel ayarlamaları yapabilir yazar ekleyebilir ve çıkartabilirsiniz.

Bir sonraki adım siteyi netlify.com‘a deploy etmek

Hesabınızda yeni bir proje başlatıp git hesabınızı bağladıktan sonra sizden build komutu ve path girmeniz istenecektir buraya Hugo kullananlar hugo ve public yazmalılar ayrıca indirdiğiniz temanın bulundurulduğu git hesabını kontrol ederek (çoğunlukla readme belgesinin içinde bulunur.) hangi Hugo versiyonu kullanmanız gerektiğini öğrenin ve add another variable diyerek HUGO_VERSION / X.XX.X bilgilerini netlify üzerinden doldurun.

Netlify sitenizi yayına aldıktan sonra .netlify.com ile biten bir subdomain atayacaktır.

Kendi domaininizi ücretsiz olarak bağlayabilirsiniz domains sekmesini inceleyin.

Siteniz yayına girdikten sonra forestry.io veya git hesabınızda yapılacak her türlü değişiklik ve güncelleme netlify tarafından otomatik olarak yayınlanacaktır.

İyi eğlenceler.