블로그 시작
블로그를 시작하면서 마주치는 선택지와 내가 선택한 것들을 정리해보고자 한다.
플랫폼
기존의 blog 서비스 ( Tistory, Naver, velog 등… )
- 안정적으로 서비스 됨. ( 배포, 댓글 이런거 신경 안 써도 됨. )
- 미리 어느정도 템플릿이 잡혀있음.
- 커스터마이징에 제한.
Github Pages를 이용
- 배포, 댓글 같은 점들을 내가 직접 설정
- Markdown 이용.
- 기존의 Blog 서비스를 이용하는게 더 stable하다는건 알지만, 그래도 뭔가 새로운 시도를 해보고싶어서 Github Pages를 이용해 배포하는걸로 결정!
- + 올해 들어 Obsidian을 통해 markdown으로 생각이나 정보같은걸 정리하고 있었는데, 이 방식을 통해 Markdown 문서를 더 많이 작성하면 Markdown에 더 익숙해 질 것 같았다!
블로그(Github Pages) 프레임워크(Static Site Generator)
Jekyll
- Ruby 기반
- Github Pages에서 사용하고 있어 호환성이 높다
- 윈도우를 공식적으로ㅠㅠ 지원ㅠㅠ 하지않음ㅠㅠ.
Hexo
- js 기반
- 만든 사람이 대만인.
Hugo
- Go 기반
- 반응속도가 다른 프레임워크들 보다 월등히 빠르다.
- 윈도우를 공 식 적 으 로 지 원 함.
Hugo를 선택한 이유
- Star 갯수 (2023. 01. 22 기준)
- Hugo (64.9k) »»> Jekyll (46k) »> hexo ( 36.1k )
- Windows를 공식적으로 지원한다는 점.
- Go를 이번 기회에 한 번 써보고 싶었음.
- 소위 홍대병이라고 하는 힙스터 기질이 발동해서(….)
- + Hugo Themes에서 Theme를 찾아보는데, 맘에 드는 Theme를 발견했다.
(반응형도 잘 되길래 더 꽂혀버림…)
Hugo 설치 및 설정
- Windows 환경에 Hugo를 설치할 때, 다양한 방법이 있지만 이미 빌드된 바이너리들을 사용하는 방법으로 설치하기로 했다.
- Hugo의 Github Repository의 최신 release를 다운받고, 시스템 전역변수에 Path로 추가해준다.
사이트 생성
hugo new site myHugo
명령어를 통해 새로운 site를 생성한다.
테마 추가
- Hugo Themes에 들어가서 원하는 테마를 찾아본다.
- 본인의 경우, Hugo Theme Stack 이라는 테마를 선택함.
- 웬만하면 Downloads 링크가 Github Repository로 연결되어 있을 것인데, 해당 Repo를 Site 폴더의 submodule로 추가해준다.
git init git submodule add [theme repo 주소] themes/[테마 이름]
- 이후 추가적인 설정을 위해 theme 폴더 안의 config 파일이나, site 폴더 안의 config 파일을 수정한다.
글 쓰기
hugo new post/파일명.md
를 통해 새 문서를 만든다.- 이러면 Hugo가 해당 위치에 Front Matter라고 부르는 해당 글에대한 metadata가 미리 작성되어 있는 Markdown 파일을 만들어 준다.
로컬단에서 확인해보기
hugo server
명령어를 통해 로컬단에서 미리 블로그가 어떻게 보일지를 확인할 수 있다.- 보통 http://localhost:1313/로 접근할 수 있다.
- VS Code에서 Live Server 쓰는것 마냥 변경사항이 바로바로 반영되어서 확인하기 편했다!
Build 및 Git에 올리기
Build
hugo -t [테마 이름]
명령어를 사용하면,/public
폴더 안에 빌드된 Site 데이터들이 저장된다.- 참고로 밑에서 git에서 submodule을 추가할 때, public 폴더가 이미 존재하면 추가가 안되니 먼저 submodule add를 해주고 build 작업을 진행해야 한다.
Git에 올리기
- 아까 Theme 설치할 때, Git init 작업을 진행했으므로, init은 생략한다.
이후 두 Git Repo에 대해 각각 add -> commit -> push 과정을 수행하면 된다.git remote add origin [Hugo Site 폴더 저장할 Repo 주소] git submodule add -b master [실제 Github Pages에 올릴 Repo 주소] public
참고한 글
- IALY1595님 블로그
- 되게 자세하게 문서화 해주시고, 추가로 Theme Customizing에 관한 글도 써두셔서 블로그 만드는데 도움이 정말 많이 되었습니다… 감사합니다 (_ _)
- self invest님 블로그
- 마찬가지로 자세히 문서화 해주시고, 추가로 github action으로 자동화하는 방법까지 작성해주셨다. 아직 자동화까진 적용 안해봤지만 참고할 예정… 감사합니다 (_ _)