Contents

Hugo 블로그 구축기 -2 With Mac

개요

  1. Hugo 블로그 구축기 -1에서 블로그 기본적인 토대를 만들었다면 해당 글에선 본격적으로 블로그를 내 입맛에 맞게 꾸미려고 한다.
  2. 그 방법으로 hugo.toml 변경, shell을 이용한 git update 자동화 방법을 소개하려고 한다.

Step 1: 구성 파일 변경

  1. hugo에서는 블로그 구성 파일을 hugo.toml로 관리를 하게 된다. 여기서 블로그 구성 파일이란 블로그 웹의 기본 설정(메뉴 설정, 테마, 포스트 및 페이지 등)을 구성할 수 있게 하는 파일이다.

  1. 이제 hugo.tomlVim 편집기를 사용하여 수정하려고 한다.

    $ cd my_blog # 생성 폴더로 이동
    $ vi hugo.toml # vim 편집기로 구성 파일 편집
    

  1. 자신이 정한 테마의 Github에 config.toml or hugo.toml에 가이드라인을 보고 참고하여 추가하면 된다.

  1. 테마의 Github에 내용이 없거나, 좀 어려운 경우는 자신의 테마의 Github이 아니라 자신이 정한 테마를 사용한 블로그를 운영하는 사람github.io 레포지토리를 들어가서 파일을 참고하는 방법도 추천한다.

Step 2: 배포 파일 설정

  1. Hugo 블로그 구축기 -1 Step 3에서 배포 파일을 담을 레포지토리 하나만 관리하게 구성하였다고 하였다.

  1. 레포지토리가 하나라고 해도 블로그의 변경사항을 Github Pages에 적용하려면 은근히 직접 치기 귀찮다. 따라서 수정 사항을 한 번에 Github에 올릴 수 있는 배포 파일을 만들 것 이다.
    # 기존 배포 시 실행 코드
    $ hugo
    $ cd public
    $ git add .
    $ git commit -m "Update: {commit message}"
    $ git push origin master 
    $ cd ..
    

  1. 리눅스 쉘 스크립트를 활용하여 배포 파일을 만들면 된다.
    $ cd my_blog # 생성 폴더로 이동
    $ touch deploy.sh # 배포 쉘 스크립트 파일 생성
    $ chmod 777 deploy.sh # 파일 실행 권한 부여
    

  1. 배포 파일을 만들었으면 스크립트를 작성하면 된다.
    $ #!/bin/bash
    $ echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"
    
    # Build the project.
    $ hugo -t loveit # hugo -t <여러분의 테마>
    
    # Go To Public folder, sub module commit
    $ cd public
    # Add changes to git.
    $ git add .
    
    # Commit changes.
    $ msg="rebuilding site `date +%y-%m-%d`"
    $ if [ $# -eq 1 ] # 호출 시 인자를 하나 받았는지 아닌지
    $   then msg="$1"
    $ fi
    
    $ git commit -m "$msg"
    
    # Push source and build repos.
    $ git push origin master
    
    # Come Back up to the Project Root
    $ cd ..
    $ echo "Finish blog deploy..."
    

  1. 해당 배포 파일은 돌아다니는 레퍼런스를 참고하여 만들었다.

  1. 하지만 우린 하나의 레포지토리만 사용하므로 public 폴더로 이동 후 한 번만 push하도록 수정했다.

  1. 마지막으로 배포 파일을 실행 하려면 아래와 같은 코드로 실행 하면 된다.
    $ ./deploy.sh "{commit msg}" # 메세지가 없어도 된다.
    

Reference