Hugo
개발 관련하여 사용했던 게 정리가 안 돼서 git 블로그를 구축하기로 했다.
이전에 Jekyll 을 이용하여 구축한 적이 있는데 build에도 시간이 오래 걸리고 초기 구축에도 버전 등의 어려움을 겪어서 상대적으로 빠르고 간단한 hugo를 사용하기로 했다.
Hugo 설치하기
- hugo 깃헙에 접속하여 자신의 운영체제에 맞는 버전의 hugo를 설치한다.
C:\hugo\bin
디렉토리 생성 후 다운 받은 압축파일을 해제한다.- cmd 창에
# set PATH=%PATH%;C:\hugo\bin
입력한다.
3-1. windows10 의 경우 시스템 환경 변수에서 사용자 변수의Path
에C:\hugo\bin\
을 추가해도 된다. - cmd 창에
# hugo version
을 입력하면 설치 후 hugo의 버전 정보가 나타난다면 hugo 설치가 정상적으로 완료되었다.
Blog Directory 설정
C:\hugo
경로에서# hugo new site blog
명령어를 입력하여 컨텐츠 관리를 위한 디렉토리를 생성한다.C:\hugo\blog
경로가 생성되었다면 디렉토리 구성은 완료되었다.
Theme 설정
- 공식 테마 사이트에서 원하는 테마를 선택한다.
- 원하는 테마를 개인 원격 저장소에 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
- 선택한 테마의 README 설명에
config.toml
파일을 수정한다.
컨텐츠 생성
- 아래의 명령어를 통해
content\post\contents.md
파일이 생성된 것을 확인할 수 있다.
1-1. 이때, 테마에 따라 생성할 디렉토리가 post가 아닐 수 있으니 테마에 맞춰 생성하면 된다.
# cd C:\hugo\blog
# hugo new post\contents.md
- cmd 창에
# hugo server
명령어를 통해 웹서버를 실행한다. http://localhost:1313/
에 접속하여 생성한 컨텐츠를 확인할 수 있다.
Github 연동
Github Repository 생성
- Hugo 컨텐츠와 소스파일을 저장할 레포, 렌더링 된 Hugo 웹사이트를 저장할 레포, 총 2개를 생성해야 한다.
- Hugo 컨텐츠와 소스파일을 저장할 레포 이름은 원하는 대로 생성한다. 내 경우에는
blog
라는 이름으로 생성했다. - Hugo 웹사이트를 저장할 레포는
<UserName>.github.io
이름으로 생성해야 한다.
Github Repository 연동
- 자신의 github에 생성한 레포(나의 경우
blog
)를C:\hugo\blog
의 remote로 등록한다.
# cd C:\hugo\blog
# git init
# git remote add origin https://github.com/5xJIN/blog.git
github.io
저장소를C:\hugo\blog
의 submodule로 등록한다.
# git submodule add -b master https://github.com/5xJIN/5xJIN.github.io.git public
git 서버에 올리기
- 테마가 적용된 컨텐츠를
blog\public\
에 생성한다.
# cd C:\hugo\blog
# hugo -t {ThemeName}
blog\public\
컨텐츠를<UserName>.github.io
레포에 push 한다.
# cd C:\hugo\blog\public
# git add .
# git commit -m "{Message}"
# git push origin main
blog\
컨텐츠를 컨텐츠 레포(나의 경우blog
)에 저장한다
# cd C:\hugo\blog
# git add .
# git commit -m "{Message}"
# git push origin master