(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기
title: “(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기” categories:
-
personalproject
#(프로젝트리뷰)네이버 블로그 깃허브 블로그로 옮기기 : 네이버 블로그
프로젝트명:
네이버 블로그 깃허브 블로그로 옮기기
관련 링크:
githubRepo: https://github.com/rage147-OwO/naver-blog-archiver
githubBlog: https://rage147-owo.github.io/
프로젝트 기간:
2022.11~2022.12
프로젝트 배경 및 목표:
필자는 네이버 블로그를 오랫동안 사용하였다.
시작은 컴공 1학년 때, 수업에서 배운 내용을 정리하기 위한 목적이였다.
네이버 블로그를 고른 것은 다른 뜻이 있어서가 아닌 단순히 접근성과 글 작성이 편리하기 때문이었다.
그러던 중, 깃허브를 자주 사용하면서 깃허브에서 웹 호스팅을 하게 되었고, 블로그 또한 만들어 놓았다.
하지만 깃허브에서 글 작성은 매우 귀찮고 네이버 블로그에 올려 놓은 글이 많아 네이버를 떠나기에는 무리가 있었다.
그렇기에 네이버 블로그를 크롤링하여 깃허브 블로그로 올릴 수 있게끔 코드를 작성해보았다.
내 역할:
네이버 블로그 전체 글을 긁어온다. 리포를 fork한 뒤 github blog용으로 개량한다.
사용 기술 및 툴:
Python, GCP
주요 기능 및 설명:
- 특정 네이버 블로그의 공개 글을 전부 크롤링한다. <–기존 기능
-
githubBlog의 markdown양식에 맞게, markdown 이름(날짜), 이미지경로, 카테고리를 수정한다.
- 이미지경로: 네이버이미지를 바로 github.io에 달아두면, 네이버 블로그나 깃허브 블로그가 저품질에 걸린다. 따라서 이미지를 크롤링 한 뒤, 특정 디렉토리에 저장하고 markdown에서 이미지 경로를 수정한다.
- 한글,특수문자가 들어간 카테고리의 경우, Jekyll에서 사용불가능하다. 한글을 영문으로 번역한 뒤, Jekyll에서 사용할 카테고리 리스트 nav_list_main을 생성하고, 카테고리 페이지 category-이름.md를 생성한다.
- GCP에서 일정 주기마다 githubBlog를 연동시킨다. SSH를 사용해서 커밋하고, github contributes(잔디심기)에 포함되지 않기 위해, 다른 계정을 collaborator로 등록시킨 뒤, 커밋하도록 한다.
KPT 분석:
Keep (계속해서 유지하고 싶은 것):
문제를 만나면 다양한 방법으로 시도해보는 것-
이미지(네이버서버로딩/로컬로딩)
카테고리(한영번역/토큰화)
GCP 깃허브 커밋(ssh/git config)
붉은 방법을 사용했는데, 해결해야 할 부분을 만났을 때, 다양한 방법을 찾아본 뒤, 나에게 맞는 방법을 적용시키는 접근이 좋았다고 생각함.
Problem (문제점으로 느껴진 것):
- 시간 관리- 예상했던 시간보다 작업량이 많았음. 또, 진행하면서 계속 기능을 추가하다보니, 끝이 나지않음. 다음 프로젝트때는 정확한 시작과 끝을 정해두면 좋았을 듯
Try (다음에 시도하고 싶은 것 or 개선하고 싶은 것):
- 프로젝트 관련으로는 GUI를 만들어 배포하고 싶다. 아무래도 자신의 블로그를 로컬로 저장하고 싶은 사람은 많을테니깐
성과 및 주요 달성 사항:
githubBlog운영 : https://rage147-owo.github.io/
피드백 및 반응:
개발자 지인이 Github 블로그를 운영하는데, markdown으로 하나하나 이미지 넣는다고 놀릴 수 있음.
자잘한 HTML태그들이 Markdown에 딸려가서 지저분하다는 피드백
글자 크기나 글씨체가 markdown과 호환이 안되는 부분이 있다는 피드백
개선점 및 앞으로의 계획:
앞으로 개선을 할지는 모르겠지만, gui 만들기, 번역할때 매끄러운 카테고리 번역을 위해 AI모델 사용하기
프로젝트 관련 메모:
- 패키지 중 googletrans을 install하면 3.0.0버전으로 설치되는데, 3.0.0에서 오류가 나서 pip install googletrans==4.0.0-rc1으로 해야한다.
- Jekyll에서 카테고리명을 한글, 특수문자,숫자로 시작하는 카테고리명을 사용 할 수 없다. 이는 Jekyll에서 사이트를 정적으로 생성할 때의 문제인 듯 하다–>(https://github.com/jekyll/jekyll-help/issues/129#issuecomment-61255284), (https://github.com/jekyll/jekyll/issues/782) 주소 생성할 때 플러그인을 사용하면 해결 할 수 있긴 하지만, 다른 깃허브 블로그 사용자들을 위해 구글 API로 카테고리를 번역하는 방법을 고수할 예정(다른 좋은 방법이 있으면 바꿀 수 있음)
- 네이버 블로그에 업로드 된 이미지가 아닌 외부 이미지를 링크로 올리는 경우, 네이버 데이터베이스에 있는것이 아니기 때문에 저장을 안함.
How to migrate to github blog from naver blog
python, markdown, html, Liquid
네이버 블로그 깃허브 블로그로 옮기기/0.png)
네이버 블로그 깃허브 블로그로 옮기기/1.png)