본문 바로가기
코딩 테스트/LeetCode

[LeetCode] LeetHub 연동 에러 문제 해결하기 (+ 난이도 별 디렉토리 생성)

by Dev.Andy 2023. 4. 21.

LeetCode가 새로운 UI 페이지로 개편됨에 따라 기존의 LeetHub 익스텐션으로는 작동하지 않는다. 열심히 구글링 해 본 결과 여러 방법이 있었지만 새롭게 개편된 홈페이지에서도 곧바로 GitHub 메시지가 올라가도록 수정을 했다.

 

📌 1. 기존 LeetHub 삭제

아래 줄을 복붙하여 크롬 익스텐션 설정으로 들어간다.

chrome://extensions/

기존의 LeetHub를 Remove 버튼을 눌러 삭제한다

기존 구글 익스텐션의 LeetHub 이미지
기존 구글 익스텐션의 LeetHub 이미지

 

📌 2. 수정한 LeetHub 파일을 git clone 하기

git clone 할 디렉토리 위치 생성 및 클론

클론할 디렉토리 위치를 생성하고 곧바로 그 디렉토리 위치에서 아래 링크의 github 링크에 들어가 클론한다.

https://github.com/3ba2ii/LeetHub

아니면 아래 명령어를 복붙해서 실행하면 된다.

git clone https://github.com/3ba2ii/LeetHub.git .

필자는 아래와 같이 바탕화면에 new-LeetHub라는 디렉토리를 만들었다.

새로 클론한 LeetHub 디렉토리 예시 이미지
새로 클론한 LeetHub 디렉토리 예시

 

📌 (+) 난이도 별 디렉토리 생성

해당 내용은 연동 문제 해결이 아니니 원하지 않으면 스킵해도 된다.

 

기존의 LeetHub는 LeetCode 문제를 풀면 곧바로 해당 리퍼지토리에 문제가 업로드 된다. 반면에 필자는 백준허브처럼 LeetCode도 아래와 같은 디렉토리 구조로 보관하고 있다. 이를 위해서는 코드 일부를 수정해야 한다.

(알고리즘 테스트 홈페이지)
|---(난이도)
    |---(문제)

(1) (디렉토리)/scripts/leetcode.js 이동

(2) 코드 수정

81번째와 151번째 줄의 코드를 아래와 같이 수정한다. 

수정 이전 코드

const URL = `https://api.github.com/repos/${hook}/contents/${directory}/${filename}`;

수정 이후 코드

const URL = `https://api.github.com/repos/${hook}/contents/LeetCode/${difficulty}/${directory}/README.md`;

 

📌 3. npm install 또는 yarn install

이제 클론한 디렉토리 위치에서 npm install 또는 yarn install로 이를 설치한다.

클론한 새 LeetHub를 npm install 하는 이미지
클론한 새 LeetHub를 npm install

 

📌 4. 구글 익스텐션에서 새 LeetHub 다운로드

아래 줄을 복붙하여 크롬 익스텐션 설정으로 들어간다.

chrome://extensions/

  1. 구글 익스텐션으로 돌아가서 우측 상단의 Developer mode를 활성화
  2. 좌측 상단의 Load unpacked를 클릭하여 클론한 디렉토리를 다운로드

오른쪽의 Developer mode를 활성화하고 Load unpacked를 클릭
우측의 Developer mode를 활성화하고 좌측의 Load unpacked를 클릭

 

📌 5. LeetHub 연동하기

이제 LeetHub를 원하는 repository와 연동하여 문제를 풀면 된다!

수정된 LeetHub 연동하는 이미지
수정된 LeetHub 연동하기

 

📌 6. 완성 이미지

성공적으로 문제를 풀고 곧바로 commit이 올라갔다!

성공적으로 올라간 LeetCode commit 이미지
성공적으로 올라간 LeetCode commit

 

📌 참고 자료

댓글