깃블로그(3) Jekyll 테마 적용
지킬(Jekyll) 개요
지킬(Jekyll) 이란?
: Jekyll 은 Ruby 기반의 심플하고 블로그 지향적인 정적 사이트 생성기
이다.
- Jekyll에서 정의해 놓은 규칙에 따라 마크업 언어(Liquid 기능이 추가된 HTML, Markdown 등)로 작성한 문서에 Markdown 등의 변환기와 Liquid 렌더러를 통해 가공하여만든 레이아웃으로
정적 사이트
를 만들어 준다. - 정적 사이트 엔진은 Hugo, Hexo, Gatsby 등 수백가지가 존재 하지만 Jekyll 은
GitHub Pages 의 내부 엔진
으로 있기때문에, Jekyll 페이지/블로그/웹사이트를 GitHub 서버에 무료로 호스팅이 가능하다.
지킬(Jekyll) 사용하는 이유
: 다음과 같은 장점이 있다.
- GitHub Pages를 통해 무료로 내가 만든 웹페이지를 인터넷상에 공개 할 수 있다.
- 마크다운을 통해 손쉽게 글을 작성할 수 있습니다.
- 테마, 플러그인이 다수 존재하고, 커스터마이징이 가능하다.
지킬(Jekyll) 테마
: Jekyll theme은 다른 사용자들이 이미 구성해놓은 template 이다.
현재기준 무료 theme 중에 Jekyll theme에서 많이 사용되며 인기있는 minimal-mistakes
를 채택했다.
지킬 테마 구축
: 지킬로 만들어진 minimal-mistakes 테마를 구축한다.
minimal-mistakes 테마 다운로드
: 테마를 다운로드하고 압축파일을 얻는다.
-
- 테마 로컬저장소 셋팅
- minimal-mistakes 테마 파일을 압축해제하고, 깃페이지로 설정한
로컬레파지토리
(나의깃허브아이디.github.com) 디렉토리에 압축된 폴더 내의 파일들을 모두 붙여넣는다.
-
- 테마 원격저장소 업로드
- 실제 호스팅서비스가 되고있는 GitHub의 원격레파지토리로 업로드 한다.
# Git Bash를 실행한 후 아래 코드로 수정한 변경분이 일어난 모든 파일을 로컬저장소에 업로드 한다. $ git add . # 변경분이 일어난 파일들을 로컬저장소에 커밋한다. $ git commit -m "updates" # 로컬저장소에 커밋된 파일을 원격저장소에 최종업로드 한다. # 업로드 도중 본인의 GitHub 아이디와 비밀번호 인증을 통과해야 업로드가 성공적으로 완료된다. $ git push # 테마를 정상적으로 서버에 올렸다!.
-
- 테마 정상작동 확인
- 원격레파지토리 서버에서 실제로 최종
push
가 반영되고 정상 작동하는지 확인한다.
- 완료
구축 완료
: 루비 기반의 지킬 테마를 깃블로그 레파지토리에 업로드하여 간단하게 적용완료했다. 깃페이지(깃블로그) 엔진에는 기본적으로 루비를 포함하고 있어서 잘 작동하는 것이다.
깃블로그는 루비엔진이 있지만 로컬은 아니다!
로컬에서 테스트 수행하려면 별도로 루비를 설치해주고 그 위에서 지킬테마의 동작을 수행 할 수 있다.
에러 기록
토큰 만료
-
- 원인
- push 시도 시점에 토큰이 만료되었다.
git add . git commit -m "test" git push remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/blangs/blangs.github.io.git/'
실제로 아래 방법으로 토큰 만료를 확인 할 수 있었다.
- 깃허브 토큰 확인
- GitHub.com 접속 및 로그인
- 최초 메인에서 Settings 접근
- Deveoper Settings 접근
- Personal Access Tokens > Tokens (classic)
2022년 11월 24일 목요일에 만료 되었습니다.
-
- 해결
- 토큰을 갱신하여 해결한다.
- (선행)깃허브 토큰 생성
- GitHub.com 접속 및 로그인
- 최초 메인에서 Settings 접근
- Deveoper Settings 접근
- Personal Access Tokens > Generate New Token (classic)
- 비밀번호 재입력
- Access Token 생성
- Note: 무슨 용도의 토큰인지 이름을 지어준다.
- Select Scopes: 해당 토큰에 부여할 권한을 선택한다.
- 레퍼지터리 관리 정도만 할 거라면 repo에 체크해준다. 이 부분은 각자의 상황에 맞게 설정! (나는 모두 체크) - Generate Token: 토큰을 생성하는 버튼을 클릭해준다.
- Personal Access Token 생성한 토큰 확인 및 복사
################################################################################ # 기존 로컬레파지토리 디레토리 내용 모두 삭제 # ################################################################################ # 이미 만들어진 원격레파지토리 클론 git clone https://github.com/blangs/blangs.github.io.git ################################################################################ # 이 시점에 최초라면 ID/PW 입력함 # 그리고 경고가 나오는데 이는 최초에 레포지토리안에 내용물이 없어서 그런것이다. # 최종적으로 폴더가 생성된다. # ################################################################################ # .git 폴더가 있다. # 이 폴더 기준으로 내부에 파일을 놔둬야 원격레포지토리에 업로드 가능하다. cd blangs.github.io.git/.git # 파일 생성 vi zzzz # 깃애드 git add . ################################################################################ # 중간점검) # “나의 main 브랜치가 원격저장소의 main 브랜치(origin/main)와 완전히 동기화가 되어 있군! $ git status On branch main Your branch is up to date with 'origin/main'. ################################################################################# # 깃커밋 $ git commit -m "pppp" # 깃푸시 $ git push Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 8 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 264 bytes | 264.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (1/1), completed with 1 local object. To https://github.com/blangs/blangs.github.io.git 5501c8f..9ac65ca main -> main # 정상 반영 완료
Leave a comment