Hugo nedir?
Hugo Go programlama dili ile geliştirilmiş statik siteler oluşturmayı sağlayan bir araç. Alternatiflerine göre sunduğu avantajlar şunlar;- Hugo hız konusunda oldukça iyi. https://gohugo.io/showcase/linode/ sayfasından Hugo kullanılan siteleri inceleyebilirsiniz.
- Çok sayıda alternatif tema var ve tema kullanımı oldukça kolay. Mevcut temaları şu sayfadan inceleyebilirsiniz. https://themes.gohugo.io/
- Cross platform desteği ile Windows, Mac ve Linux farketmeksizin her işletim sisteminde çalışma ortamını hazırlamak mümkün.
- Alternatif deployment imkanları sunuyor. https://gohugo.io/hosting-and-deployment/
- Mevcut LiveReload desteği ile yapılan değişiklikleri tarayıcı üzerinde otomatik sayfa yenileme ile anında görmek mümkün.
- Herşeyi yapabileceğiniz bir terminal paketi var. Site sunucusunu başlatmak yeni bir içerik oluşturmak gibi şeyleri terminalden kendi sunduğu paketi ile hızlı şekilde yapabilirsiniz.
- Development ve Production ayrımını yapmak terminal aracı ile oldukça kolay. Örneğin LiveReload aracını development aşamasında açık ve production aşamasında kapalı hale getirebilirsiniz.
- Tüm konfigürasyonları .toml, .yaml ya da json dosyası üzerinden yapabilirsiniz.
Kurulum
Aşağıdaki sayfadan sisteminize uygun kurulum adımlarını görebilirsiniz.https://gohugo.io/getting-started/installing/
Bu yazıda Linux(Ubuntu/Debian) için iki farklı kurulumu göreceğiz.
1. Tarball ile kurulum
Dosyaları çıkartacağınız bir klasör oluşturalım ve dosya dizinine girelim.mkdir -p ~/bin
cd ~/bin
tar.gz dosyasını indirelim ve klasöre çıkartalım.
wget https://github.com/gohugoio/hugo/releases/download/v0.54.0/hugo_0.54.0_Linux-64bit.tar.gz --no-check-certificate
tar -xvzf hugo_0.54.0_Linux-64bit.tar.gz
Klasöre üç adet dosya çıkarılmış olacak.
LICENSE
README.md
hugo
./hugo version komutunu çalıştırdığınızda aşağıdaki yazıyı göreceksiniz. İndirdiğiniz versiyona göre farklı bir versiyon numarası ve tarihi görebilirsiniz.
Hugo Static Site Generator v0.54.0-B1A82C61 linux/amd64 BuildDate: 2019-02-01T09:40:34Z
Şimdi .bashrc dosyasına aşağıdaki eklemeyi yaparak hugo komutunu klasör dışı heryerden çağırmayı ayarlayalım.
export PATH=$PATH:$HOME/binsource .bashrc yaptığınızda artık herhangi bir klasörde hugo version yazdığınızda yukarıda yazan versiyon bilgilerini görebilirsiniz.
2. dpkg ile kurulum
Önce .deb dosyasını indirelim.
wget https://github.com/gohugoio/hugo/releases/download/v0.54.0/hugo_0.54.0_Linux-64bit.deb --no-check-certificateVe sonrasında kurulumı yapalım.
dpkg -i hugo_0.54.0_Linux-64bit.debhugo version komutunu çalıştırdığınızda versiyon bilgilerini görüyorsanız kurulum başarılı şekilde tamamlanmış demektir.
İlk sitemizi oluşturalım
blog kısmına oluşturmak istediğiniz sitenin dosya adını yazabilirsiniz.hugo new site bloggit init ile git kurulumu yapalım.
git init
ve themes klasörü içerisine bir temayı submodule olarak ekleyelim.
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
ve tema adını config.toml dosyasında belirtelim.
echo 'theme = "ananke"' >> config.toml
hugo server -D
komutunu çalıştırdığınızda aşağıdaki loglarla karşılaşacaksınız.
http://localhost:1313 adresini açarsanız aşağıdaki sayfayla karşılaşacaksınız.
Farklı bir tema eklemek git submodule add ile themes klasörü içerisine temayı ekleyebilirsiniz. Temayı değiştirmek için config.toml theme değerini değiştirmeniz yeterli.
Yeni bir yazı oluşturmak
Yazılar content/posts klasörü içerisinde tutulur. Aşağıdaki komutla yeni bir yazı oluşturduğunuzda sayfa yenilenecek ve My First Post yazısının listlelendiğini göreceksiniz.hugo new posts/my-first-post.mdHugo'da yazıları html ve markdown formatı birlikte olacak şekilde yazabilirsiniz. markdown kullanımı hakkında detaylı bir listeyi aşağıda bulabilirsiniz.
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Yazıları düzenlemek için content/posts dosyası içerisine oluşturulan dosyaları düzenlenemiz yeterli.
---
title: "My First Post"
date: 2019-02-16T18:18:14+03:00
draft: true
---
Yazı ile ilgili konfigürasyonları yazı dosyasının hemen en üstünde görebilirsiniz. Bir değişiklik yapmanız durumunda sayfa yenileme sonrası ekrana yansıyacaktır.
Hugo ile bir siteyi yayına almak
Aşağıdaki komutla livereload kapalı şekilde hugo sunucusunu başlatabilirsiniz. -b parametresi olarak yayınlamak istediğiniz domain adını girin.
hugo server --appendPort=false --disableLiveReload -b ahmet.wtf
pm2 ile yukarıdaki komutu sunucunuzda arkaplanda sürekli çalışır hale getirmek için start.sh isminde bir dosya oluşturun ve içerisine aşağıdaki şekilde komutunuzu ekleyin.
#!/bin/bashSonrasında
hugo server --appendPort=false --disableLiveReload -b ahmet.wtf
pm2 start start.sh --name blogkomutu ile çalışır duruma getirebilirsiniz.
pm2 kurulumu için nvm kurulumu yazısına göz atabilirsiniz. Node.js ve npm kurulumu sonrasında aşağıdaki komutla pm2 kurulumu yapabilirsiniz.
npm i -g pm2Sonraki yazıda görüşmek üzere.
Hiç yorum yok:
Yorum Gönder