데스크탑 환경 없이 깃허브에 정적 블로그 만들기 1부
Github Pages에 Jekyll Chirpy 테마를 적용해서 영원히 삭제되지 않는 정적 블로그를 만든 체험담입니다. 윈도우의 깃허브 데스크탑 같은 개발 환경 없이 삼성 dex환경에서 깃허브 웹페이지만 이용해서 작업했습니다.
굳이 깃허브에 블로그를 만든 사연은 여기에 구구절절하게 적었다.
1. 깃허브 가입시 주의사항.
깃허브는 구글 계정 또는 애플 계정으로 가입이 가능하다. 하지만 계정을 만드는 목적에 따라서 구글과 애플 계정으로 가입이 적합하지 않을 수 있다. 예를 들어 구글은 2년간 로그인을 하지 않으면 계정을 삭제해버린다. 깃허브에 만든 계정은 영구적으로 보관이 되더라도 구글 계정이 사라져서 로그인을 할 수 있는 단서가 남지 않는다면 그 페이지의 통제권을 잃게 된다. 따라서 이메일로 가입하는 게 장기적으로 관리하기에는 오히려 좋은 선택이 될 수가 있다.
1) 캡차 지옥
깃허브 가입시 봇에 의한 무분별한 계정생성을 막기 위한 목적으로 악명 높은 캡차가 뜰 때가 있다. 그 내용은 이렇다. 하나의 문양을 제시하고 다양한 문양들을 커피가 담겨있는 컵 위에 겹쳐놓는다. 10개가 넘는 캡차 그림을 나열하면서 그 중에서 제시된 문양이 가득찬 컵 위에 놓여있는 그림을 찾으라는 식이다. 그런데 문양이 뚜렷하지가 않고 때때로 눈부심 효과까지 넣어서 문양 자체의 모양을 알아차리기 어렵게 만들기도 한다. 다섯번을 물어보는데 단 한번이라도 틀리면 다시 맞출것을 요구한다.
이 캡차가 최악인 건 기껏 답을 다 맞춰도 비정상적인 접속이라면서 가입시도를 무효화시켜버리기도 한다는 점이다. 한번 vpn을 쓰라느니, 와이파이에서 lte나 5g로 바꿔서 다른 ip로 인식시키라느니 다양한 대응법이 제시될 수 있지만 내가 10차례 이상 같은 짓을 반복하면서 느낀 점은 이렇다. 브라우저를 바꾸고, 그 메일 대신에 다른 메일주소를 사용하는 것 말고는 답이 없다. 깃허브에서 비정상적인 접속이 아닌 것으로 봤다면 애초에 캡차가 뜨지도 않고 곧바로 인증메일 발송으로 넘어갈 것이기 때문에 캡차가 뜬걸 확인했다면 무익한 노가다를 반복하는 건 피하는 게 좋다. 고통을 느낄 수 있는 건 인간인 나 뿐이지 철로 만든 벽같은 깃허브 사이트가 아니기 때문이다. 최종적으로 내가 깃허브 가입에 성공한 방법은 이렇다. 와이파이를 쓰나 5g, lte망을 쓰나 똑같다.
1) 삼성 덱스모드에서 삼성 브라우저로 익명모드에서 신청하기: 캡차 화면으로 안넘어가고 브라우저 확인이라는 화면에서 수십분간 정지상태
2) 크롬 브라우저에서 신청하기: 저주받은 캡차 반복 똥개훈련
3) 삼성 브라우저 일반 모드에서 신청하기: 캡차 똥개훈련
4) 크롬(안드로이드) 익명모드에서 신청하기: 십여분 이상 브라우저 확인 과정을 거친 후 캡차 화면으로 넘어간 후에 다시 똥개훈련
5) 크롬(윈도우): 안드로이드 크롬과 같음. 다른 메일로 가입해도 똑같음
6) 에지(윈도우): 한번도 그동안 가입 과정에 입력하지 않은 다른 이메일 입력함. 캡차 없이 곧바로 인증메일 발송함.
에지를 안써서 생긴 문제인지 가입하려고 들이댄 메일이 알 수 없는 이유로 깃허브의 마음에 들지 않았는지는 알 수 없는 미스테리로 끝났고 험난한 가입과정이 완료되었다.
2) 가입시 사용했던, 원치 않았던 메일주소 바꾸기
캡차 지옥 때문에 엉뚱한 메일로 가입할 수밖에 없었지만, 원했던 메일로 교체하기는 어렵지 않다. 깃허브 우측 상단의 사용자 프로필 사진을 클릭하면 메뉴가 뜨는데 중간 쯤 보이는 톱니바퀴 아이콘 Settings를 선택한다.
세팅 화면에서 왼쪽 사이드바의 Access항목에 있는 Emails를 선택, Add email adress* 항목에 원하는 이메일을 입력한다.
그러면 메일 목록에 새로 입력한 메일 주소가 뜨고 옆에는 짙은 노란색으로 Unverified라는 표시가 뜬다. 그 메일을 열어보면 인증메일이 와있을건데 인증하면 녹색 Verified로 표기가 바뀐다. 그러고 나서 Primary email address 항목을 새로 입력한 메일로 바꾸면 된다. 가입시 사용할 수밖에 없었던 엉뚱한 메일은 이 메뉴 안에서 쉽게 삭제할 수 있다.
2. 계정을 만들었다면 그 다음에는?
1) 레포지토리 만들기
일단은 제일 쉬운 것부터 하자. 화면 상단에 톱니바퀴 버튼이 보이는 ‘setting’ 버튼을 누르자. 세팅 화면 왼쪽 탭에 있는 pages를 클릭한다. 오른쪽 화면에는 ‘Build and deployment’ 라는 항목이 있는데 기본값은 ‘deploy from a branch’다 이걸 ‘GitHub Actions’로 변경해준다. 이게 무슨 효과가 있는건지는 모른다. 그냥 그렇게 해야 한다니까 오직 따라서 할 뿐이다.
빌드 앤 디플로이먼트 설정이 끝났다면 이제 레포지토리(Repository, 저장소)를 만들어야 한다.
레포지토리(이하 레포)를 만들때는 두가지 선택지가 있다. 일단, 생으로 홈페이지를 만드는 방법과 jekyll이나 hugo같은 템플릿을 쓰는 방법이다.
생으로 홈페이지를 만드는 방법은 index.html과 readme.md 파일을 사용해서 각종 에셋들을 덧붙여서 홈페이지를 처음부터 끝까지 관리하는 방법이다. 90년대 후반에서 00년대 초반, 블로그나 미니홈피가 없던 시절에 개인홈피를 만들고 관리하던 방식 그 자체다. 자기가 개발하고 관리하고 검색 노출시킬 능력이 충분하다면 나쁘지 않은 선택이 될 것 같다.
하지만 나는 그런 무한한 자유도를 감당할 자신이 없었다. 이제 와서 웹언어를 공부하는 건 딱히 흥미도 안가고 투입 노력대비 얻는 것도 크지 않다고 생각했다. 물론 인공지능에게 코딩을 하라고 하면서 만들어볼 수도 있겠지만 새로운 글을 쓸 때마다 관리를 해야할 엄두가 나질 않았다. 인공지능에게 시켜 먹는 것도 일단은 뭘 알아야 시킬 게 아닌가. 그래서 내가 선택한 방법은 jekyll chirpy라는 테마를 사용해서 만드는 방법이다. 유명한 jekyll 테마 중에서 가장 무난해 보이는 템플릿이었기 때문이다.
2) jekyll chirpy 테마 적용하기
jekyll chirpy를 내 레포로 가져올 때는 몇몇 사칭범과 유괴범들을 만날 수가 있다. 데스크탑 개발환경이 있는 사람이 아니라면 딴데 한눈팔지 말고 오직 스타터를 위한 공식 페이지인 여기에서만 필요한 것을 가져오는게 좋다. https://github.com/cotes2020/chirpy-starter
포크를 뜨겠다느니 엉뚱한 생각을 하지말고(내가 해봤는데 결과가 좋질 않았음) 제작자가 스타터를 위해 준비해 준 특전을 누리자. 화면의 우측 상단에 있는 녹색 버튼에 적혀있는 “Use this template”를 누른다. 그러면 “Create a new repository”라는 선택지를 고를 수가 있게 된다.
가져오는 화면에서 “Include all branches” 여기는 체크가 되어있지 않은데 그대로 둔다. “Repository name”은 자기의 깃허브 주소를 치면 된다. 얼핏 앞뒤가 안맞는다고 느낄 수는 있지만 왜냐고 묻지 마라. 그게 깃허브의 규칙이다. 나같은 경우는 ‘b-613t.github.io’를 입력했다.
만약 서브 페이지를 만들고 싶다면 레포 이름에 자기가 원하는 이름을 넣으면 된다. 예를 들어, 거기에 ‘words’라고 넣는다면 그 페이지의 url주소는 ‘https://b-613t.github.io/words’ 가 된다.(실제로 만든 건 아님) 이렇게 하면 새로운 레포와 홈페이지가 추가되는 것이지 기존에 만든게 없어지는 건 아니므로 안심해도 좋다.
Choose visibility는 public가 기본값인데 그대로 하면 된다. 무료 플랜 사용자가 깃허브 페이지를 사용할 때 유일한 선택지라고 한다. private를 선택해보질 않아서 다른 선택을 하면 어떤 결과가 생기는지는 모르겠다.
그렇게 새로 만든 레포에 chirpy starter 템플릿이 들어온다면 그 이후부터는 설정과의 전쟁인데 _config.yml 을 얼마나 잘 다루는지가 최대 관건이다.
다음 편에 이어서 다루도록 한다.