Hello, Hugo!

Nov 1, 2018 00:00 · 755 words · 2 minute read hugo github

macOS에서 Github Pages와 Hugo를 사용하여 블로그를 구축한 과정을 정리해본다.

Hugo 설치

brew install hugo

Repository 생성

Github에서 호스팅을 받아 Hugo를 사용하기 위해서는 2개의 repository를 만들어야 한다.

Local 설정

이제 로컬에서 블로그를 만들기 위한 워크스페이스를 만든다. 먼저 blog라는 이름의 Hugo site를 생성한다.

$ hugo new site blog
$ cd blog

테마를 적용하기 위해서 아래와 같이 입력한다. 본인은 hugo-theme-cactus-plus 테마를 사용하였다.

$ git submodule add https://github.com/Juneyoung-Kang/hugo-theme-cactus-plus.git themes/hugo-theme-cactus-plus
$ cd ..

사이트의 기본적인 설정은 생성되어 있는 config.toml를 수정하거나, 또는 config.*를 만든 후에 hugo --config config.*로 새로운 configuration file을 만들 수 있다.

이제 blog 폴더에서 앞에서 만들어 놓은 Github의 blog repository를 remote로 등록한다.

$ git init
$ git remote add origin https://github.com/Juneyoung-Kang/blog.git

그리고, Github의 [사용자 계정].github.ioblog/public에 submodule로 등록하면 Local 설정은 모두 끝났다.

$ git submodule add -b master https://github.com/Juneyoung-Kang/juneyoung-kang.github.io.git public

Post 생성

Post를 만들기 위한 markdown을 생성한다.

$ hugo new post/*.md

위와 같이 입력하면 blog/content/post/*.md가 생성되고 상단을 적절히 수정 후 +++ 이후 부터 글을 작성한다.

Deploy

$ hugo -t [테마이름]

위와 같이 입력하면 public 디렉토리에 컨텐츠가 생성된다.

$ cd public
$ git add .
$ git commit -m "commit message"
$ git push origin master

이것으로 Github의 [사용자 계정].github.io repository에 반영이 되었다. 이제 변경 내용들을 blog repository에 적용한다.

$ cd ..
$ git add .
$ git commit -m "commit message"
$ git push origin master

매번 deploy 과정을 반복하기에는 시간낭비라고 생각해서 deploy.sh를 만들어보았다.

#!/bin/bash

echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"

hugo -t hugo-theme-cactus-plus

cd public
git add .

msg="rebuilding site"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

git push origin master 

cd ..

git add content public

git commit -m "$msg"

git push origin master