도커로 Hexo 블로그를 만들고 github.io 주소로 접속하도록 해 보았다.
개인적으로 사용하고 있는 텍큐 블로그가 있는데 기술관련 내용을 쓰기는 너무 불편하고 오래되기도 해서 마크다운으로 사용할 수 있는 블로그 툴을 찾아봤다.
처음엔 입출력 속도만 개선해보려고 PHP 버전을 5.6에서 7.3으로 올려봤는데 텍큐가 너무 오래되다보니 패치를 해도 잘 안돌아가고 해서 v7로 올리는 건 포기.
그 다음으로는 업뎃 잘되는 워드프레스에 텍스트큐브의 블로그 내용을 다 옮기고 기술내용도 거기서 다 같이 쓸려고 했다. 그래서 TTXML Importer로 데이터를 옮겨봤는데 글만 옮겨지고 그외 카운터 정보같은건 옮길 수가 없었다.
어차피 블로그를 깔끔하게 옮길 수 없다면 기술블로그 전용 툴을 쓰자 해서 찾은게 Ghost인데 얘는 카테고리나 사이드바 기능이 부족해서 탈락시켰다.
그 다음으로 찾은 선택지는 정적 사이트 생성기를 이용하는 거였다. 마크다운 쓰기도 좋고, github.io 주소도 사용할 수 있으니 괜찮아보였다. 그래서 찾아보니 Jekyll에는 맘에 드는 스킨이 없어서 Hexo에 Icarus라는 테마를 붙여 써보기로 했다.
근데 정적 사이트 생성기는 소스를 로컬에 보관하고 github.io로 퍼블리시하는 구조라, 모든 컴퓨터에 Hexo 소스를 보관할 필요가 있다. 이건 너무 바보같아서 Hexo 소스는 도커로 웹에 띄우고 이놈으로부터 github.io에 퍼블리싱하는 방법을 쓰기로 했다. 굳이 따지면 웹에 띄운 시점에서 바로 접속이 가능하니 굳이 퍼블리시를 할 필요는 없는거긴 한데 사이트를 매번 변환하는것보다는 당연히 변환된 저장소에 접속하는 편이 빠르고 무엇보다 github.io 주소를 쓰는 편이 더 geek하기 때문에 사용하기로 했다.
그래서 이 포스트에서는 리눅스 서버에 도커로 Hexo를 띄우고, Hexo-admin 플러그인으로 퍼블리시한 파일을 github.io에 deploy하여 최종적으로는 유저명.github.io로 정적 블로그를 구축하는 법을 설명한다.
github repository 생성
- https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/creating-a-github-pages-site
- 깃헙에 유저명.github.io라는 저장소 생성
- 이때 속성은 Public, Initialize this repository with a README를 선택
- 생성된 저장소의 settings → GitHub Pages → Theme Chooser 에서 테마를 아무거나 하나 골라주면 블로그가 가동됨
- Your site is published at https://유저명.github.io/ 메시지가 뜨면 접속가능하게 된거임
도커 이미지 선정
- https://github.com/spurin/docker-hexo
- Hexo와 관리용 Hexo-admin이 포함되어 있는 이미지
icarus 테마 셋업
|
|
hexo-admin에 패스워드 설정
- Settings > Setup authentification에서 YAML을 생성
- _config.yml의 admin: 밑에 붙여넣는다
hexo-admin에서 deploy 설정
- https://github.com/jaredly/hexo-admin/issues/70
- sh파일을 만들고 yml 파일을 수정한다
|
|
유용한 플러그인
hexo-deployer-git
- git으로 배포하기 위한 플러그인
|
|
hexo-generator-feed
- atom(url/atom.xml ) 혹은 rss2.0(url/rss2.xml)으로 피드 생성해 줌
|
|
hexo-generator-sitemap
- sitemap.xml 파일을 자동생성
|
|
hexo-math
- KaTeX and MathJax를 활성화 시켜주는 플러그인
- 플러그인 설치
|
|
- 사용예
|
|