Merhaba (go)Hugo!

alperyazar.com alan adını 2011 tarihinde almışım. O günden bu zaman bu sitenin altyapısında birçok değişiklik yaptım. İlk başlarda WordPress’i bir paylaşımlı hosting üzerinde kullanırken daha sonra WordPress’i aldığım bir VPS’e taşıdım. O zamanlar hosting panelinde ve VPS’e SSH ile bağlanıp bir şeyler denemek fazlasıyla öğretici olduğundan altyapı ile uğraşmak hoşuma gidiyordu. Zamanla WordPress’in çıkarttığı problemlerden (Aslında WordPress’e çok da özgü problemler değildi. PHP gibi herhangi bir bileşen kullanan birçok yazılımı idame etmek için bir çaba gerekiyor.) sıkıldığımdan dolayı çareyi statik site üreteci sistemlerde buldum. Bu sistemler arasında da hatırladığım kadarıyla Sphinx’i MkDocs’u ve Jekyll’i denedim çeşitli başka sitelerle de. En çok kullandığım Jekyll oldu, (asynx.dev’de kullanıyoruz.) Fakat çoğunda yine statik HTML çıktılarını kendi sunucum üzerinden internete açtım. Daha sonraları CI/CD kavramı ile tanışmam ile ilk olarak Travis CI ve GitHub Pages ile siteyi otomatik derlemeye ve sundurmaya başladım. Daha sonraları Travis CI’ın yerini Github Actions aldı. Bu süre zarfında bir elektronikçi olarak yazılım dünyasında yer etmiş olan CI/CD gibi kavramları görmek, kullanmak, YAML diye bir şeyle tanışmak, containerlardan haberdar olmak bu sayede oldu. 2011’lerde sunucu konfigüre etme ile aldığım keyifi bu sefer de CI/CD kurcalarken aldım.

Statik üreteçlere çeşitli formatlarda girdi üretmek mümkün. Bunlardan en popüleri herhalde Markdown’dur. Yine Sphinx tarafından varsayılan olarak kullanılan reStructuredText ise Markdown’dan daha kapsamlı bir işaretleme(markup) dili olsa da onun kadar popüler olmadığını söyleyebilirim. Bir de denediğim AsciiDoc var. Bu da Markdown’a göre daha kapsamlı olsa de facto Markdown olmuş durumda. Ben de pek Markdown’dan uzaklaşmak istemediğim için yine bunu destekleyen başka bir araç olan Hugo’yu tercih ettim.

İpucu

💡 Sphinx’i başka projelerde kullanıyorum. RST yi özellikle başka kişilerle beraber yaptığım çalışmalarda tercih etmiyorum. Sphinx, MyST-Parser ile çok güzel bir Markdown desteği veriyor. Son dönemlerde Sphinx’i, Markdown ile kullanıyorum.

Neden değiştirdim?

Jekyll ile çalışırken neden Hugo’ya geçtim? Aslında çok bir sebebi yok, temelde denemek istedim. Duyduğum bir araçtı, bir görmek istedim. Ayrıca Hugo’nun Go dilinde yazılması sebebiyle kendisini ayrıca merak ettim. Jekyll’i kullanırken Ruby öğrenmek zorunda kalmamıştım, sanıyorum Hugo’da da böyle olur ama Jekyll ile en azından RubyGems gibi şeyleri biraz kurcalamıştım.

İlk bakışta Hugo, kendi reklamını yaptığı gibi gerçekten çok hızlı. Örneğin asynx.dev de yaklaşık 15-20 sayfa var desek derleme 4-5 saniye sürüyor. Şu an tam olarak 13 sayfa olan bu blog (nerdeyse hepsi statik sayfa, blog yazısı değil) 57 milisaniye de derleniyor, gerçekten etkileyici. Ayrıca tema seçeneklerinin de Jekyll’den fazla olduğunu söyleyebilirim. Şimdilik sadeliği ile hoşuma giden Ink isimli temayı kullanıyorum.

Bundan sonra ne olacak?

Yine yazmamaya devam edeceğim 😂.

Eski yazıları taşımayı düşünüyorum. İşin şakası bir yana belki daha çok içerik üretirim 🤣.

İlk yayın: 2022-02-18