GitHub 휴고 블로그에 새 글 배포하기

업로드 할 때마다 찾아보지 않도록 휴고 블로그에 새로운 포스트를 업로드 하는 과정을 정리해 보겠다.


1. 새 포스트 생성하기

포스트는 주로 content/post 디렉토리에 있다.
프로젝트 루트에서 다음 명령어를 실행하면 새로운 md 파일이 생성된다.

$ hugo new post/new-post-title.md

생성된 파일에는 Date가 자동으로 입력되고,
draft: true 라는 라인이 포함되어 있다. 이는 작성 중이라는 뜻으로, 빌드에 포함되지 않는다.
작성이 완료되면 값을 false로 바꿔 빌드에 포함될 수 있도록 한다.

2. 로컬 서버에서 확인하기

새 포스트를 배포하기 전에 로컬 서버를 돌려 확인할 수 있다.

$ hugo server -D

-D 옵션을 통해 draft 문서도 빌드에 포함해 확인할 수 있다.
또한 변경 사항을 저장하면 서버를 다시 돌리지 않아도 바로 적용되어 확인할 수 있다.

3. 배포하기

이 블로그는 URL에서 알 수 있듯 GitHub Pages로 배포되어 있다.

처음 사이트를 배포하는 과정은 이 페이지와 2번 레퍼런스를 참고했고, 요약하면 다음과 같다.

  1. GitHub에 전체 블로그 프로젝트를 위한 <프로젝트명> Repository를 만든다.
  2. 렌더링 된 휴고 사이트가 포함될 <깃헙 유저명>.github.io 라는 이름의 Repository를 만든다.
    여기서 중요! GitHub Pages는 public Repository만 호스팅 되므로 public으로 설정.
  3. hugo 사이트 빌드 결과가 담길 public 디렉토리를 git submodule로 지정한다.
  4. 배포 시에는 빌드를 한 뒤 public 디렉토리를 push하고, 전체 프로젝트를 push한다.

새 글을 배포할 때에는 4번 과정을 실행하면 된다.

우선 현재 적용된 테마를 이용해 프로젝트를 빌드한다.
테마 이름은 config.toml 파일 내 theme = "테마 이름"에 입력한 값과 동일하게 입력한다.
빌드 전에 새로 작성한 글을 draft: false 라고 설정해 주는 것도 기억하자.

$ hugo -t <테마 이름>

그럼 public 디렉토리에 결과물이 저장되며, 이 submodule을 commit 후 push,
그 다음 전체 프로젝트를 commit 후 push 하면 된다.


References

  1. https://themes.gohugo.io/hugo-theme-yuki/
  2. https://ialy1595.github.io/post/blog-construct-1/#6-%EB%B9%8C%EB%93%9C-%EB%B0%8F-git-push