Git Blog 만들기
💡 요약
- 마크다운 파일을 사용하는 정적 웹사이트 생성기인 Jekyll을 이용해 블로그를 만듦
- 정적 웹사이트 : 어떤 사람이 접속해도 동일한 결과물을 제공하는 웹사이트
- Jekyll이 Ruby로 만들어졌기 때문에 Ruby가 필요
- 웹사이트 호스팅을 위하여 Git Pages 이용
- Git Pages : GitHub에서 제공하는 정적 웹사이트 호스팅 서비스
- Jekyll이 설치되어 있음
1. Ruby 설치
-
homebrew 이용
brew -v // homebrew version 확인
- Jekyll 사용을 위해 Ruby 설치
-
Ruby 설치를 위해 rbenv 설치
brew install rbenv // ruby 설치를 위해 rbenv를 설치 rbenv versions // rbenv 설치 확인. *system : 현재 Ruby가 system ruby를 쓰고 있음
brew install ruby-build
-
ruby 설치 (시간 소요됨) 및 사용 설정
rbenv install -l // 설치가능한 ruby version 확인 rbenv install 3.2.2 // 최신 버전을 설치 rbenv global 3.2.2 // 설치한 버전 사용하도록 글로벌 버전을 변경
-
-
rbenv PATH 추가
vim ~/.zshrc
-
아래 코드 입력하고 저장
[[ -d ~/.rbenv ]] && \\ export PATH=${HOME}/.rbenv/bin:${PATH} && \\ eval "$(rbenv init -)"
-
코드 적용
source ~/. zshrc
-
2. Jekyll과 bundler 설치
- gem 명령어 사용하여 Jekyll과 bundler 설치
gem install bundler // gem 설치
gem install jekyll bundler // Jekyll, bundler 설치
3. 샘플 블로그 생성
-
HelloBlog 라는 홈페이지 생성
jekyll new HelloBlog
🚨 Read-only file system @ dir_s_mkdir - /HelloBlog (Errno::EROFS)
- 이유 : readonly 인 폴더에서 실행해서
- 해결 : write 가능한 하위 폴더로 이동해서 다시 실행
-
HelloBlog로 이동해서 웹사이트 호스팅
cd HelloBlog bundle exec jekyll serve
-
http://127.0.0.1:4000/ 입력하면 로컬 환경에서 블로그 접속 가능
4. Jekyll 테마 적용
-
템플릿 선택 후 로컬로 Git Clone
💡 테마 모음 사이트들
- http://jekyllthemes.org/
- http://themes.jekyllrc.org/
- https://jekyllthemes.io/
-
gemfile을 검사하여 필요한 목록을 설치함
cd minimal-mistakes // clone 한 디렉토리로 이동 bundle // gemfile 검사 후 필요한 목록 설치
-
테마 적용 확인
bundle exec jekyll serve
5. username.github.io 로 호스팅
-
username.github.io 주소로 레포지토리 생성
🚨 주의사항
- pages 기능 사용을 위해 public 으로 생성
- repo > Settings > Pages에서 Branch가 master로 설정되어있는지 확인
-
git remote 설정
mv minimal-mistakes/ username.github.io // 폴더명 변경 cd username.github.io/ git remote remove origin git remote add origin https://github.com/username/username.github.io.git git push -u origin master
🚨
(refusing to allow a Personal Access Token to create or update workflow .github/workflows/bad-pr.yml without workflow scope)
- 이유 : 내 access 토큰이 workflow 범위까지 커버하지 못해서 → access 토큰의 범위 변경해줌
- https://github.com/settings/tokens 에서 변경 후 push
6. 포스팅하기
- Jekyll은
_posts
디렉토리 하위의YEAR-MONTH-DAY-title.md
형식의 파일을 포스트 글로 인식 - header 작성 후 내용 작성
- Jekyll이 인식할 수 있도록 YFM(YAML Front Matter) 포맷으로 작성
--- title: "github.io 블로그 첫 글" last_modified_at: 2023-06-05T08:06:00-05:00 categories: - Blog tages: - Blog ---
name mean title 실제 화면에 보이는 제목 categories 포스터의 소속 카테고리 tags 포스터 태그 toc table of content의 약칭, 우측 상단의 목차 toc_label toc의 이름 toc_icon toc의 아이콘 toc_sticky toc의 고정유무, 고정(true)시 스크롤에도 우측상단에 고정되게 보인다. last_modified_at 게시글 마지막 수정일, 포스터에는 년월일까지 보여집니다. - 내용은 마크다운 문법으로 작성
7. 기능 추가하기
- 사이드바 추가
- 폰트 적용
- favicon 설정
- hits 추가
- 블로그 내 검색 기능 : lunr
- 오프라인에서 실행
- 깃블로그 폴더로 이동해서
bundle exec jekyll serve
- 깃블로그 폴더로 이동해서
- build 속도 최적화
8. 그 외의 에러
-
에러
$ gem install bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
참고 자료
Leave a comment