Site: https://liman.havelsan.com.tr
Repository: https://limanmys.github.io/Site/
Repository'de ki Hugo versiyonunu aşağıdaki Github Actions komutu ile kontrol ediliyor. Gerekli olan .deb
paketi yoksa komuttaki linkten indiriyor. Buradaki linkleri değiştirerek Hugo'nun versiyonunu değiştirebiliriz. Fakat Hugo'nun Extended versiyonu olması gerekiyor.
- name: Setup Hugo
run: |
[ ! -f ./hugo_extended_0.69.0_Linux-64bit.deb ] && wget https://github.com/gohugoio/hugo/releases/download/v0.69.0/hugo_extended_0.69.0_Linux-64bit.deb
sudo dpkg -i hugo_extended_0.69.0_Linux-64bit.deb
# cd hugo
# echo | hugo env
Siteyi tamamladıktan sonra paylaşmak istediğimizde, sitenin Hugo dizinine gidip hugo --minify
olarak build etmemiz gerekiyor. Bu /public
dizinine sitenin statik ve paylaşılmaya hazır halini derliyor. Aşağıdaki komutlar ise repositorye bir commit geldiği zaman siteyi derleyip, Github Pages'in paylaşılmak üzere ayarlandığı /docs
dizinine taşıyor. Böylelikle bir kaç adımdan kurtularak, değişiklerimizi tamamladıktan sonra pushlamamız yetiyor.
- name: Build
run: |
cd hugo
hugo --minify
#########################################
- name: Replace /docs/ with hugo/public/
run: |
echo --- ls Before ---
pwd
ls
mkdir -p docs
rm -rf ./docs/*
mv -f ./hugo/public/* ./docs/ 2> /dev/null
echo --- ./hugo/public ---
ls ./hugo/public/
echo --- ./docs/ ---
ls ./docs/
Son komut olarakta yapılan değişikleri commitleyip pushluyor. (main.yml içinde bulunuyor)
Yukarıdaki .yaml
dosyası üzerinden sitenin genel ve anasayfa içeriklerini değiştirebiliyoruz. Sitenin hangi kısımlarının değişebileceği dosya içindeki ayarlarda daha belirgin.
Detay değişiklikleri ise temalar dizini altındaki sitemizin kullandığı tema klasörünün altından yapılıyor.
Site/hugo/themes/liman-hugo-fresh/assets/
Yukarıdaki dizin ise .scss
ve .sass
gibi stillendirme dosyalarını içeriyor.
Site/hugo/themes/liman-hugo-fresh/content/
Bu dizin ise https://liman.havelsan.com.tr/kurulum/ gibi alt sayfaların içeriklerinin olduğu klasör. Markdown ve ya HTML dosyaları olarak oluşturulabilirler.
Site/hugo/themes/liman-hugo-fresh/layouts/
Sitenin asıl kodlarının bulunduğu klasör, ./partials
dizini altında genelde config.yaml
dosyası ile ayarlanan parça kodlar bulunur.
Site/hugo/themes/liman-hugo-fresh/static/
Statik dizin ise site derlenirken, derlenen klasörün içine atılacak dosyaları içerir. Bu klasörün içinde ne varsa aynısını derlenmiş sitenin ana dizinine kopyalar. Genelde ./pictures
gibi alt klasörlerde resimler, ./javascript
klasöründe JS dosyaları veya CNAME dosyası burada bulunmalıdır.