이 블로그는 Claude Code와 함께 약 5분 만에 만들어졌습니다.
어떤 과정을 거쳤는지 타임라인으로 기록해둡니다.
타임라인
① 요구사항 정의
“Hugo 블로그 만들어줘 — 블로그명: 영어 한문장”
딱 한 줄의 요청으로 시작했습니다.
② 사전 조건 확인
작업에 앞서 세 가지를 점검했습니다.
hugo version # Hugo v0.161.1 (Homebrew)
gh auth status # GitHub 로그인 확인 (jeonck)
git --version # Git 2.39.5
세 가지 모두 준비되어 있었습니다.
③ Hugo 사이트 초기화
hugo new site . --force
현재 디렉토리(one-sentence)에 Hugo 프로젝트 구조를 생성했습니다.
디렉토리 이름이 블로그명 “한문장"과 딱 맞아 별도 폴더를 만들지 않았습니다.
④ PaperMod 테마 추가
git init
git submodule add --depth=1 \
https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
Hugo에서 가장 인기 있는 테마 중 하나인 PaperMod를 서브모듈로 추가했습니다.
서브모듈로 관리하면 GitHub Actions에서도 그대로 사용할 수 있습니다.
⑤ hugo.toml 설정
baseURL = 'https://jeonck.github.io/one-sentence/'
locale = 'ko-kr'
title = '영어 한문장'
theme = 'PaperMod'
[outputs]
home = ['HTML', 'RSS', 'JSON'] # JSON이 있어야 검색 기능 작동
주요 포인트:
| 설정 | 이유 |
|---|---|
locale 사용 | languageCode는 Hugo v0.158.0부터 deprecated |
[[params.socialIcons]] 배열 문법 | [params.socialIcons] 선행 시 빌드 오류 발생 |
outputs에 JSON 포함 | 검색 페이지(/search/)가 이 JSON을 인덱스로 사용 |
⑥ 콘텐츠 파일 생성
검색 페이지 (content/search/index.md)
검색 기능을 활성화하기 위한 필수 파일입니다.
첫 번째 포스트 (content/posts/첫번째-포스트.md)
날짜를 2026-05-20T00:00:00+09:00 형태로 명시했습니다.2026-05-20처럼 날짜만 쓰면 UTC 기준 자정으로 해석되어
KST(UTC+9)에서는 미래 포스트로 분류되어 빌드에서 제외됩니다.
⑦ GitHub Actions 워크플로 작성
.github/workflows/deploy.yml
- uses: actions/checkout@v4
with:
submodules: true # 이 줄이 없으면 테마 디렉토리가 비어 빌드 실패
fetch-depth: 0
submodules: true가 핵심입니다.
이 옵션이 없으면 GitHub Actions 서버에서 themes/PaperMod가 빈 폴더로 남아
스타일 없는 깨진 화면이 배포됩니다.
⑧ 로컬 빌드 검증
hugo --minify
hugo list all
Pages │ 17
Total in 80 ms
에러 없이 빌드 성공.hugo list all로 포스트가 실제로 인덱싱됐는지도 확인했습니다.
⑨ GitHub 리포 생성 및 푸시
gh repo create one-sentence --public \
--description "영어 한문장 - 하루 한 문장으로 배우는 영어"
git remote add origin https://github.com/jeonck/one-sentence.git
git push -u origin main
⑩ GitHub Pages 소스 설정
gh api repos/jeonck/one-sentence/pages \
--method POST --field build_type=workflow
GitHub Pages의 기본 소스는 브랜치 방식입니다.
이 명령 없이 push만 하면 워크플로가 성공해도 페이지가 뜨지 않습니다.
반드시 build_type=workflow로 명시적으로 설정해야 합니다.
⑪ 배포 완료
✓ build in 12s
✓ deploy in 8s
총 소요 시간: 약 20초 (GitHub Actions 기준)
최종 결과
| 항목 | 내용 |
|---|---|
| 블로그 URL | https://jeonck.github.io/one-sentence/ |
| 테마 | PaperMod |
| 배포 방식 | GitHub Actions (main 브랜치 push 시 자동) |
| 검색 | 내장 검색 지원 |
| 모드 | 라이트 / 다크 / 자동 |
앞으로 이 블로그에는 하루 한 문장씩 영어 표현을 기록해나갈 예정입니다. 🙌