brunch

You can make anything
by writing

C.S.Lewis

by gaze 헬스케어 Jul 13. 2024

Jekyll 블로그 본격적으로 만들기

다중 언어 지원 블로그 기획 1일차; 맨땅에 해딩은 재밌다

https://slee333.github.io/blogday1/


GitHub Pages를 사용한 블로그를 구현 중에 있다. 단순히 폼 잡고자 함은 아니고, 내 삶의 여러 방면을 블로그라는 형태로 정리해서 게시하는 행위 자체가 내가 삶을 정돈된 형태로 영위하는데 도움이 되리라 여겼기 때문이다. 그리고 외부 서비스 없이 스스로 디자인한 블로그 운영하기에 솔직히 좀 로망도 있었다.


기본적인 레이아웃은 내가 종종 가는 GatesNotes를 많이 참고했다. 매거진 스타일의 레이아웃과 격자형식의 절도있는 비주얼이 마음에 들었기 때문이다. 우선은 레이아웃을 가능한 한 카피하고 내 입맛에 맞게 맞추는 일을 목표로 하고 있다.



빌게이츠 아저씨의 GatesNotes. 뭔가 깔끔하고 좋아보여서 많이 참고하고 있다.


컨텐츠야 차차 채워나가면 되는 부분이고 우선 레이아웃 자체는 어느정도 구현에 가까워지고 있다. 얼마나 깔끔하고 보기 좋으냐는 또 나중 문제지만 점차 하면서 채워나가면 되는 부분이라 생각한다.


이전에 React를 이용해서 깃헙 페이지를 만들어보기도 했고, flutter도 최근까지 건드렸지만 이번에는 Jekyll을 활용해보기로 했다. React 같은 어플들은 웹 개발용이지 장기적으로 지속적인 포스팅을 하기 위한 블로그 용도가 아니니까.


Jekyll은 마크다운으로 글을 쓰기에 노션에 익숙하던 나로선 꽤나 쉽게 글을 작성 할 수 있단 장점이 있었다. 다만 글을 적을 수 있다 뿐이지 이런 글들을 이쁘게 전시하는 데에는 또 다른 애로사항이 있었다.


우선 Jekyll을 써 본 적이 없어서 정적 웹사이트가 어떻게 돌아가는지 그 구조를 파악하는데 있어 꽤나 시간이 걸렸다. Liquid 문법은 지금은 조금 감이 오지만 커맨드라인에 직접 뭘 적어보고 할 수 없으니 무슨 기능이 어떤 결과를 가져오는지 알 수가 없어서 다소 답답했다. 그래도 2~3시간 맨땅에 해딩하니 지금은 좀 감이 오는 듯?


사실 Jekyll을 써서 블로그를 만드는데만 치중했다면 오늘 모든 일이 끝났겠지만, 문제는 내가 다중 언어 지원을 계획했다는 데에 있다. 보니 multiple-languages-plugin이나 polyglot을 많이 사용하던데, 이 기능들은 플러그인이라 github-page에 즉각적인 업데이트가 힘들다는 단점이 있다.


사실 이 단점은 그렇게 심각한 건 아니다. plugin을 이용한 정적 페이지만을 따로 깃헙 페이지에 호스팅하는 방식으로 우회하면 되기 때문에 별로 어렵지도 않다. 하지만 난 결국 이 플러그인들을 쓰지 않았다. 이유는 이렇다.


1. 그렇게 대단한 다중언어 지원이 필요하지 않다


난 그냥 상단 메뉴바만 한국어-영어로 치환되고, 포스트 내용만 영어-한국어로 치환되면 족하다. 페이지 오른쪽 위나 아래에 버튼 하나 두고 그거 누르면 서로 다른 언어 두개로 치환되는 간단한 방식이면 된다는 이야기다.


2. 포스트 인식이 안된다


플러그인을 사용하면 /_i18n/{언어이름}/_post 와 같은 경로에다 포스트를 넣고, 현재 사이트의 언어에 맞게 이를 불러오게 되는데 난 이상하게 i18n 폴더 안쪽에 넣은 포스트들이 죄다 jekyll에서 인식이 안됬다. 이를 쉽게 하는 방법이 (분명 매우 간단하게) 존재하겠지만 몇 시간 씨름했는데 찾을 수가 없었다!


그래서 그냥 플러그인 없이 조금의 하드코딩을 섞어 다중언어를 구현했다. 상단 메뉴바는 그냥 하드코딩해버렸고, 포스트들은 그냥 ‘en’을 url 앞에 넣으면 영문 포스트, 그게 아니면 한국어 포스트로 하는 방식으로 url을 설정했다. 난 이게 그냥 더 직관적이고 쉽더라. 이 블로그 글을 많이 참고했다.


이제 남은 건 어떻게 좀 이쁘게 만들고 꾸준히 적느냐인데… 이것 또한 많은 도전이 필요한 일일 거다.


꾸준히 적으려면 쉽게 적을 수 있어야 한다. 다만 마크다운으로 긴 글을 적는게 뭐 어렵진 않지만 그렇게 사용자 편의적이진 않아서, 나는 Notion을 사용해서 글을 적고 → 이걸 마크다운으로 뽑아서 블로그에 개시하는 방법으로 진행해보려 한다. 영어론 어떻게 적냐고? ChatGPT한테 기본적으로 부탁하고 이상한 부분은 내가 검수하면 되지 뭐. 행운을 빌어주십쇼~

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari