Post

Jekyll Chirpy로 Github Pages 만들기

Jekyll Chirpy 테마를 사용하여 깃허브 블로그를 생성하는 과정을 담았습니다.


해당 포스트는 MacOS 기준 Chirpy 테마를 사용하였다.
다른 테마를 사용하고 싶다면 http://jekyllthemes.org에서 템플릿을 골라 사용하면 된다.

공식 사이트에서 제안한 Chirpy 테마를 사용해 깃허브 페이지를 생성하는 방법은 두가지가 있다.

  1. Chirpy Starter
  2. Github Fork
    나는 2번 방법이 더 커스텀이 유용하기 때문에 2번 방법을 이용했다.

GitHub Fork

먼저 Github에 로그인 한 후 Github Fork에 접속해 [USERNAME].github.io(mooniswan.github.io) 이름으로 해당 리포지토리를 fork 한다.

fork한 내 리포지토리에서 web URL을 복사한다.

로컬 머신에서 원하는 디렉토리에 복사한 HTTPS 주소를 clone해준다.
나의 경우 따로 생성하지 않고 iterm에 들어가 바로 명령어를 입력해주었다.

1
git clone [복사한url주소]
  • (git clone https://github.com/mooni…)

Node.js 확인

Node.js가 설치되어 있는지 확인한다.

1
node -v
  • 설치되어 있지 않으면 아래 명령어로 설치를 진행한다
    1
    
    brew install node
    

루트 디렉토리 이동

클론한 리포지토리의 루트 디렉토리로 이동한다.

1
cd [유저이름].github.io

Tools 초기화

코드를 최신태그로 체크아웃해주고, 샘플 파일 제거, CSS/JS 파일 빌드, 변경 사항 저장과 같은 작업을 수행하는 명령어를 실행한다.

1
bash tools/init.sh

Dependencies 설치

루트 디렉토리에서 아래 코드를 실행하여 dependencies를 설치한다.

1
bundle

_config.yml 업데이트

_config.yml 파일의 변수를 업데이트한다.

1
vi _config.yml
  • 위 명령어 실행 후 i 클릭 -> 파일 수정 -> Esc키 클릭 -> :wq 로 저장 후 종료 또는
1
code .
  • 위 명령어를 통해 직접적으로 폴더에 들어가 vsc를 이용해 편집 후 저장해도 된다.

내용은 'url'부분은 필수적으로 자신의 블로그 url로 작성해주고 나머지는 기호에 맞게 파일의 주석을 참고해 수정하면 된다.

timezone: Asia/Seoul
title: 원하는 이름
tagline: 이름 밑에 나오는 설명
url: “github page 주소”
avatar: ‘/assets/img/favicons/android-chrome-192x192.png’

  • 블로그 왼쪽 상단에 뜨는 avatar를 설정하기 위해서는 Real Favicon Generator 링크에 들어가
    1. Select your Favicon image
    2. 원하는 이미지 업로드
    3. 맨 아래로 스크롤 후 Generate your Favicons and HTML code
    4. Favicon packages 다운로드
    5. assets/img/favicons 에 들어가 browserconfig.xml, site.webmanifest 삭제 후 다운로드 파일 내용으로 덮어쓰기 해주면 된다.

로컬 서버 실행

로컬 서버를 실행하여 설정된 페이지를 확인한다.

1
bundle exec jekyll s

배포

잠금파일의 플랫폼 목록을 업데이트한다.

1
bundle lock --add-platform x86_64-linux

Settings 변경

Settings 탭의 Pages에 들어가 Build and deployment 부분의 Source를 GitHub Actions으로 바꿔준다.

아래 명령어를 사용해 commit을 push해주면 자동으로 Build and Deploy가 완료된다.

1
2
3
git add .
git commit -m 'test'
git push origin master

Build 오류 해결

위 푸쉬과정 중 Github Actions 탭에서 확인한 결과 build 과정에서 에러가 발생해 사이트가 배포가 안되는 걸 확인했다. Test site 과정에서 _site 폴더의 html 파일에서
internal script reference /app.min.js does not exist
위와 같은 오류내용때문에 빌드가 실패되었다.

어차피 게시물을 작성하고 로컬서버에서 확인 후 최종본을 배포하기 때문에
test site 부분이 필요없다고 가정하고 .github/workflows 로 이동해 pages-deploy.yml, ci.yml 파일에서 Test site 과정을 아예 주석처리 해서 오류를 해결했다.

commit changes -> sign off and commit changes를 통해 저장해주면 된다.

이후 다시 push 과정을 진행됐더니 성공적으로 빌드 및 배포가 완료됐다.

글을 쓸 때는 _posts 폴더에 YYYY-MM-DD-TITLE.md 양식을 지켜서 마크다운 문법으로 저장한 파일을 아래 명령어로 로컬서버에서 확인 후 최종본을 push해주면 된다.

1
bundle exec jekyll s

참고 사이트


This post is licensed under CC BY 4.0 by the author.