GitHub 블로그 쉽게 만들기: Jekyll chirpy 테마 활용법

etc-image-0

안녕하세요, 여러분! 오늘은 GitHubJekyll chirpy 테마를 이용하여 블로그를 만드는 과정을 소개하려고 합니다. 초보자분들도 쉽게 따라 할 수 있도록 자세히 설명할게요!

시작 전 준비사항

먼저, 블로그를 만들기 위해 필요한 준비물들을 살펴봅시다.

  • WSL(Windows Subsystem for Linux) 설치: Windows 사용자의 경우, Linux 환경을 사용할 수 있게 해주는 WSL을 설치해야 합니다.
  • Ruby 설치: Jekyll은 Ruby 기반으로 작동하니, Ruby를 설치해야 해요.
  • Jekyll 설치: Ruby가 설치되면, Jekyll을 설치할 수 있습니다.
  • GitHub 가입: 블로그를 호스팅할 GitHub 계정이 필요합니다.
  • Git 설치: GitHub에 블로그를 업로드하기 위해 Git이 필요해요.
  • npm(Node Package Manager) 설치: 여러 JavaScript 라이브러리를 관리하는 데 사용됩니다.

이러한 도구들을 설치하는 것은 처음에는 조금 복잡해 보일 수 있지만, 한 단계씩 천천히 따라오시면 금방 익숙해 지실 수 있습니다.

설치 및 설정 과정

테마 포크하기

스크린샷 2024-01-28 오후 8.17.09.png

먼저, jekyll 테마 홈페이지에서 chirpy 테마를 선택하고, 테마의 GitHub 페이지로 이동해요.

etc-image-2

오른쪽 위에 있는 Fork 버튼을 클릭해서 시작합니다.

blob

여기서 중요한 점은, Repository name을 설정할 때 여러분의 GitHub 사용자 이름과 동일하게 설정해야 한다는 것이에요. 예를 들어, 사용자 이름이 'example'이라면 'example.github.io'로 설정해야 합니다. 이렇게 설정하면 GitHub가 여러분의 블로그 주소를 자동으로 만들어줘요. Repository name 입력 한 다음에는 Create fork 버튼을 눌러 줍니다.

etc-image-4

Fork 동작이 완료되면, chirpy 홈페이지의 모든 내용이 사용자의 repository 로 복사됩니다.

Git Repository 클론 하기

이제 블로그를 설정하기 위해서 사용자의 로컬 폴더에 복사합니다.

etc-image-5

CODE 버튼을 선택해서 나온 팝업에서 HTML이나 SSH를 선택하고 우측의 복사 버튼을 눌러서 url을 복사합니다.

이제 터미널 프로그램을 열어 Github Respository의 내용을 Clone합니다.

$ git clone git@github.com:Example/Example.github.io.git

Cloning into 'Example.github.io'...
remote: Enumerating objects: 9824, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 9824 (delta 2), reused 11 (delta 0), pack-reused 9802
Receiving objects: 100% (9824/9824), 4.38 MiB | 3.34 MiB/s, done.
Resolving deltas: 100% (5215/5215), done.

여기서 git@github.com:Example/Example.github.io.git은 이전에 복사한 url입니다. 'Example'은 여러분의 GitHub 사용자 이름으로 바꿔주세요.

테마 초기화하기

마의 기본 설정은 데모 값으로 되어 있으므로, 초기화 작업을 해야 합니다. bash tools/init 명령을 통해서 초기화 작업을 진행합니다.

cd Example.github.io # Clone한 Git Repository로 이동합니다.
bash tools/init      # 초기화 작업을 시작합니다.

사용자 정보 설정하기

이제 블로그에 여러분의 정보를 입력해 보겠습니다. _config.yml 파일을 열어서 사이트의 제목, 설명, 메뉴 등을 변경합니다.

etc-image-6

항목 설명
lang 웹 페이지의 언어(지원하는 언어의 종류는 여기 에서 확인)
timezone Timezone(한국은 Asia/Seoul)
title 블로그의 타이틀
tagline 블로그의 서브 타이틀
description 블로그 소개
url 블로그 주소 ("https://{my_github_username}.github.io" 형식)
github_username github username
social_name 이름이나 닉네임
social_email 이메일 주소
social_links 소셜 링크 주소
avatar 프로필 사진 링크 (/assets/img/ 디렉토리 안에 이미지를 저장)
paginate 메인화면 한 페이지에 보여줄 게시글 갯수

로컬에서 블로그 실행하기

모든 설정이 끝나면 로컬 컴퓨터에서 블로그를 실행해 보아요. 먼저 필요한 패키지들을 업데이트하고, bundle exec jekyll serve 명령으로 블로그를 실행합니다.

$ bundle install
$ bundle update
$ bundle install
$ bundle exec jekyll serve

Configuration file: none
            Source: /Minokim82.github.io_old/_posts
       Destination: /Minokim82.github.io_old/_posts/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
                    done in 0.181 seconds.
 Auto-regeneration: enabled for '/Users/kimminho/Workspace/Minokim82.github.io_old/_posts'
    Server address: http://127.0.0.1:4000
  Server running... press ctrl-c to stop.

위와 같이 서버가 실행되면 http://127.0.0.1:4000 서버 어드레스를 확인할 수 있는데요, 이 주소를 웹브라우저에 입력해서 접속합니다.

blob

위와 같이 나타나면 기본적인 구성은 완료되었습니다.

블로그 적용하기

이제 누구나 블로그에 접속할 수 있도록 git push -u origin +master 명령으로 서버에 올려 보도록 하겠습니다.

$ git add -A                             # 변경 파일 적용
$ git commit -m "Set User Information"   # git에 적용
$ git push -u origin +master             # github에 upload

Enumerating objects: 29, done.
Counting objects: 100% (29/29), done.
Delta compression using up to 8 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 243.12 KiB | 1.42 MiB/s, done.
Total 21 (delta 10), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (10/10), completed with 4 local objects.
To github.com:Example/Example.github.io.git
 + 74f1662...74ba53f master -> master (forced update)
branch 'master' set up to track 'origin/master'.

github에 수정 사항이 업로드 되면 github에서 자동으로 빌드가 동작하고, 블로그 페이지(Example.github.io)를 확인할 수 있게 됩니다.

blob

빌드 동작에는 일정 시간이 소모 될 수 있어서 블로그에 반영사항이 바로 확인 되지 않을 수 있습니다. 빌드 상태를 확인하고자 한다면, Github Repository에서 Actions 항목에서 확인할 수 있습니다.

etc-image-9

이미지 처럼 모든 항목이 Pass 되어야 블로그가 적상적으로 반영됩니다.

첫 포스트 작성하기

이제 첫 글을 작성해 보겠습니다.

etc-image-10

포스트는 마크다운 형식으로 작성되며, _posts 폴더에 저장됩니다. _post폴더가 없는 경우에 폴더를 생성해 주세요.

파일 이름은 '2024-01-27-첫-포스트.md'와 같이 '년-월-일-제목.md' 형식으로 만듭니다.

---
title: 포스팅 제목
date: YYYY-MM-DD HH:MM:SS +09:00
categories: [메인 카테고리, 서브 카테고리]
tags:
  [
    태그1,
    태그2,
    태그3,
    .
    .
    .
  ]
---

포스트에는 제목, 날짜, 카테고리 등의 메타데이터를 본문 작성 전에 포함해 줘야합니다.

첫 글 작성 후에는 처음 블로그를 적용했던 것처럼 github에 업로드 해줍니다.

$ git add -A
$ git commit -m "Update post: 2024-01-28-Install-docker-on-ubuntu"
$ git push

업로드 완료 후에 다시 블로그 페이지(Example.github.io)로 접속합니다.

blob

맺음말

이렇게 해서 GitHub를 활용한 Jekyll 블로그 만들기에 대한 기초적인 부분을 알아보았습니다. 처음에는 다소 복잡하게 느껴질 수 있지만, 한 단계씩 차근차근 따라오시면 분명 성공할 수 있습니다.