Statik Sitemizi Github'da Yayınlıyoruz

Hugo ile statik site oluşturmuştuk. Şimdi sitemizi github üzerinde nasıl host ederiz onu açıklayacağım.

config.toml

Github statik site kaynak kodlarını tanımıyor o yüzden dosyalarımızı derlememiz gerekiyor.config.toml dosyasını açın ve içersine :

1
publishDir = "public" 

bu kodu ekleyin.Sitemizi derleyeceğimiz klasör /public/ olacak.

Derliyoruz

Terminali açın ve blog klasörünüze girin :

1
2
[serd4r@D3LL]$ cd blog
[serd4r@D3LL blog]$ hugo

Blog klasörünüzün içerisinde derlediğiniz /public/ klasörü oluşmuş olmalı.

GitHub Repostory Oluşturalım

İki adet repo oluşturacağız.Birincisini yedek almak için, ikincisinde ise sitemizi barındıracağız.Yedek alacağanız klasörün adını mesela “blog” girin ve “Private” yapın.Burayı oluşturmamızdaki amaç eğer bilgisayarımızın başına bişey gelirse yeni bir makinede hugo kurup sitemizi ve temamızı yedekten locale çekerek veri kaybı yaşamayalım ☠️ Sitenizi oluşturacağınız repoyu ise kullaniciadin.github.io şeklinde “Public” olarak oluşturun.GitHub kullanıcı adınız ne ise onu yazacaksınız!

Repolarınızı oluştururken readme, gitignore ya da lisans eklemeyin.

Push It!

Terminali açın ve sırasıyla :

1
2
3
4
5
6
[serd4r@D3LL blog]$ cd public
[serd4r@D3LL public]$ git init
[serd4r@D3LL public]$ git add .
[serd4r@D3LL public]$ git remote add origin https://github.com/kullaniciadin/kullaniciadin.github.io.git
[serd4r@D3LL public]$ git commit -m “first commit”
[serd4r@D3LL public]$ git push origin master

Push işleminde github kullanıcı adı ve şifre soracaktır girin ve onaylayın.Biraz bekledikten sonra dosyalarımız github’a uçmuş olmalı! Repo ayarlarınızı açın ve domaininiz aktif mi kontrol edin.Yeşil renkte olacak :

İşlemleri Hızlandıralım

Her defasında bu şekilde terminalden satır satır komut girmektense basit bir shell script yazarak işlemleri ona yaptırabiliriz.

deploy.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

echo "Eski public siliniyor."
rm -rf public

echo "Derleniyor."
hugo

echo "Updating master branch"
cd public
git init

git config --global push.default matching
git config --global user.email "email-adresin@gmail.com"
git config --global user.name "kullaniciadin"

git add --all .
git commit -m "deplay.sh ile postalandı!"

echo "Gönderiliyor..."
git push --quiet --force https://github.com/kullaniciadin/kullaniciadin.github.io.git master

yedek.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

echo "yedek alınıyor..."

dizin=${PWD##*/}

echo $dizin
git init

git config --global push.default matching
git config --global user.email "email-adresin@gmail.com"
git config --global user.name "kullaniciadin"

git add --all .
git commit -m "yedek.sh tarafından gönderildi."

echo "Gönderiliyor..."
git push --quiet --force https://github.com/kullaniciadin/yedek-klasor-adin.git master

echo "Yedekleme tamamlandı!"

E-mail adresi, kullanıcı adı, repo url’lerini kendinize göre editleyin ve dosyalara chmod +x izni vermeyi unutmayın:

1
2
[serd4r@D3LL blog]$ sudo chmod +x deploy.sh
[serd4r@D3LL blog]$ sudo chmod +x yedek.sh