[Hugo] windows10 git 블로그 구축하기

JIN

November 1, 2021

Hugo

개발 관련하여 사용했던 게 정리가 안 돼서 git 블로그를 구축하기로 했다.
이전에 Jekyll 을 이용하여 구축한 적이 있는데 build에도 시간이 오래 걸리고 초기 구축에도 버전 등의 어려움을 겪어서 상대적으로 빠르고 간단한 hugo를 사용하기로 했다.

Hugo 설치하기

  1. hugo 깃헙에 접속하여 자신의 운영체제에 맞는 버전의 hugo를 설치한다.
  2. C:\hugo\bin 디렉토리 생성 후 다운 받은 압축파일을 해제한다.
  3. cmd 창에 # set PATH=%PATH%;C:\hugo\bin 입력한다.
    3-1. windows10 의 경우 시스템 환경 변수에서 사용자 변수의 PathC:\hugo\bin\ 을 추가해도 된다.
  4. cmd 창에 # hugo version 을 입력하면 설치 후 hugo의 버전 정보가 나타난다면 hugo 설치가 정상적으로 완료되었다.

Blog Directory 설정

  1. C:\hugo 경로에서 # hugo new site blog 명령어를 입력하여 컨텐츠 관리를 위한 디렉토리를 생성한다.
  2. C:\hugo\blog 경로가 생성되었다면 디렉토리 구성은 완료되었다.

Theme 설정

  1. 공식 테마 사이트에서 원하는 테마를 선택한다.
  2. 원하는 테마를 개인 원격 저장소에 Fork 후 C:\hugo\blog 의 submodule로 지정한다.
    2-1. 아래 예시는 내가 Fork 후 사용한 테마를 기준으로 작성했기 때문에 git 주소와 theme는 선택에 따라 달라진다.
    # cd C:\hugo\blog
    # git init
    # git submodule add https://github.com/5xJIN/npqhugo.git themes/npq-hugo
    
  3. 선택한 테마의 README 설명에 config.toml 파일을 수정한다.

컨텐츠 생성

  1. 아래의 명령어를 통해 content\post\contents.md 파일이 생성된 것을 확인할 수 있다.
    1-1. 이때, 테마에 따라 생성할 디렉토리가 post가 아닐 수 있으니 테마에 맞춰 생성하면 된다.
# cd C:\hugo\blog
# hugo new post\contents.md
  1. cmd 창에 # hugo server 명령어를 통해 웹서버를 실행한다.
  2. http://localhost:1313/ 에 접속하여 생성한 컨텐츠를 확인할 수 있다.

Github 연동

Github Repository 생성

  1. Hugo 컨텐츠와 소스파일을 저장할 레포, 렌더링 된 Hugo 웹사이트를 저장할 레포, 총 2개를 생성해야 한다.
  2. Hugo 컨텐츠와 소스파일을 저장할 레포 이름은 원하는 대로 생성한다. 내 경우에는 blog 라는 이름으로 생성했다.
  3. Hugo 웹사이트를 저장할 레포는 <UserName>.github.io 이름으로 생성해야 한다.

Github Repository 연동

  1. 자신의 github에 생성한 레포(나의 경우 blog)를 C:\hugo\blog 의 remote로 등록한다.
# cd C:\hugo\blog
# git init
# git remote add origin https://github.com/5xJIN/blog.git
  1. github.io 저장소를 C:\hugo\blog 의 submodule로 등록한다.
# git submodule add -b master https://github.com/5xJIN/5xJIN.github.io.git public

git 서버에 올리기

  1. 테마가 적용된 컨텐츠를 blog\public\ 에 생성한다.
# cd C:\hugo\blog
# hugo -t {ThemeName}
  1. blog\public\ 컨텐츠를 <UserName>.github.io 레포에 push 한다.
# cd C:\hugo\blog\public
# git add .
# git commit -m "{Message}"
# git push origin main
  1. blog\ 컨텐츠를 컨텐츠 레포(나의 경우 blog)에 저장한다
# cd C:\hugo\blog
# git add .
# git commit -m "{Message}"
# git push origin master