깃허브 블로그 만들기

Updated:

이전 블로그

https://velog.io/@codefug/posts

이사온 이유

사실 깃허브 블로그 시작 자체가 tistory, medium, velog처럼 간단하게 할 수 있는 것이 아니다보니 배보다 배꼽이 더 커지는 것 같아서 그만했었던 기억이 있습니다.

그럼에도 만들게 된 이유는 4가지 정도 생각할 수 있을 것 같습니다.

  1. 이전까지는 velog로 글을 작성했었는데 velog에서는 flex-direction: row 식으로 글이 보여졌습니다. 그래서 한눈에 보기가 너무 불편했습니다.

  2. 무엇보다 jekyll에 대해서 알고 싶었고 scss 복습, 문서 읽고 프로젝트 진행, 리팩토링하는 여러가지 경험이 완전 시간 낭비는 아니겠다 싶었습니다.

  3. 낭만

문제와 해결과정

크게 4가지 문제가 있었습니다.

1. 사진이 안들어가는 문제

post에 사진이 들어가지 않는 문제가 있었습니다.

minimal mistakes 공식 문서를 보니 jekyll이 md를 파싱하는 과정에서 post에 이미지 넣을려면 여기에 넣으라고 따로 path를 정해놓고 있었습니다.

https://mmistakes.github.io/minimal-mistakes/post%20formats/post-image-standard/

/assets/images/ 안에 파일을 넣고

<img src="https://codefug.github.io/assets/images/filename.jpg" alt="" class="full">

이런 식으로 HTML img tag에 박아서 사용하면 됩니다.

2. tzinfo dependency 오류

맥이나 리눅스를 사용하지 않으면 무조건 겪게 되는 오류입니다.

jekyll 공식 문서에서 해결방법이 나와있습니다.

https://jekyllrb.com/docs/installation/windows/#time-zone-management

요약하자면 jekyll이 rubygem을 사용해서 시간대를 구성하는 방식이 변했고 그래서 jekyll V3.4이상으로 생성된 블로그는 자동으로 Gemfile에 변경된 내용이 포함되는데 원래 존재하는 사이트(minimal mistake같은)는 Gemfile에 다음 코드를 넣어줘야 한다는 것입니다.

platforms :mingw, :x64_mingw, :mswin, :jruby do
  gem "tzinfo", ">= 1", "< 3"
  gem "tzinfo-data"
end

3. @ rb_sysopen bundler cannot continue

bundle exec jekyll serve 로 로컬 서버를 킬 때 루트 폴더에 계속 _site가 생성하고 그 파일을 실행시킵니다. 번들되는 파일인 것 같은데 그 폴더 안에 package.json이 존재하지 않아 생기는 에러입니다.

stackoverflow나 이슈들을 찾아보니 로컬 서버 재실행시 _site를 없애고 실행하라는 이야기가 있었습니다. 되긴 하지만 조금 더 찾아봐야합니다.

얻은 점

예전에 만든 template이라 스타일링 중에 float를 만난다거나 최신 문법 파싱이 안된다거나 하는 문제를 만나기도 했었는데 광고 붙히는 법, sitemap 등록, 댓글 처리 등등 많은 지식도 얻게 된 것 같습니다.

에러를 마주했을 때 github issue나 공식문서에서 찾으면 답이 있다는 걸 알게 된 계기이자 추후 여유가 생겨서 블로그를 만들게 되면 개선해 볼법한 부분들을 정리하는 기회가 되었습니다.

어쨌든 블로그도 블로그지만 결국에는 내용이 중요하다고 생각합니다. 누가 볼지 몰라도 글을 보면서 “열심히 하는구나”, “이런 식으로 문제 해결을 하는구나”, “나도 이거 막혔는데 고맙네” 정도면 좋은 글을 쓰고 있는 것이라고 생각합니다.

시작해보겠습니다.

공부하는 모든 내용은 obsidian에 정리하지만 공부한 내용을 바탕으로 정리한 글을 올릴 예정입니다.

앞으로 부족하거나 틀린 정보가 있다면 언제든 댓글로 말씀해주세요

Leave a comment