본문 바로가기
Today I learned!/오늘 하루 배운 것, 기억할 것

leetHub와 백준허브를 같은 repository에 커밋하기(?)

by sweesweet 2023. 4. 8.

백준허브는 leethub와 다르게, 백준, 프로그래머스 폴더로 따로 분기해서 푼 알고리즘 문제를 정리해서 올라가게 된다. 

하지만 leetHub는 leetcode에서 푼 문제만 올라가기때문에 따로 폴더 분기없이 올라가게 된다. 그래서 만약 같은 레포지토리를 연결할 경우, 릿코드는 문제를 풀 때마다 root에 새로운 폴더를 생성해서 가독성이 떨어질 수 있다.

 

그럼 같은 레포짓토리를 사용하면서, leetcode는  Leetcode란 폴더 안에 커밋하고 싶으면 어떻게 해야 할까?

(leetcode만 궁금할 시 2번부터!)

 

※ 프론트엔드를 공부하고있어서 기본적으로 nvm이 깔려있기때문에, 노드를 사용하지 않는 사람과 환경의 차이가 있을 수 있음

 


1. 백준 허브 크롬 extension 깔기 

https://velog.io/@flaxinger/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8C-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95

 

백준허브 사용 방법

백전허브의 사용자 매뉴얼입니다.

velog.io

설명이 아주 잘되어있다. 백준허브는 어떤걸 변경할 필요가 없기 때문에, 크롬익스텐션 그 자체를 깔면 된다.

(나 같은 경우는 algorithm 레포를 생성하여 백준 허브를 설정하였다.)

 

 

2. Leethub를 크롬 확장 프로그램 스토어에서 까는 게 아니라, 깃허브 레포를 클론하기

https://github.com/QasimWani/LeetHub

 

GitHub - QasimWani/LeetHub: Automatically sync your leetcode solutions to your github account - top 5 trending GitHub repository

Automatically sync your leetcode solutions to your github account - top 5 trending GitHub repository - GitHub - QasimWani/LeetHub: Automatically sync your leetcode solutions to your github account ...

github.com

 

위의 링크에서 깃 명령어를 통해 해당 레포를 로컬에 클론한다.

git clone https://github.com/QasimWani/LeetHub.git

 

 

3. 프로젝트를 열어 scripts 폴더  > leetcode.js 파일에 들어가 수정하기

들어간 후 ctrl+f를 눌러 URL을 검색한다. 그럼 하단에 적어둔 것처럼 상수로 선언된 URL을 찾는다.

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

여기서 원하는 폴더명(ex.Leetcode)을 첫 번째, 두 번째 둘다 contents뒤에 적는다.

ex)

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

 

${difficulty}는 난이도인데, 프로그래머스나 백준처럼 난이도로 다시 폴더 분기를 하고싶다면, 첫 번째 예처럼 적으면 되고,그다지 하고싶지 않다면 2번째 예처럼 contents/ 뒤에 폴더명만 적어주면 된다.

 

4. 변경된 파일 저장 후, 터미널에 npm i 혹은 npm run setup  실행하기

 

5. 크롬을 열고 우측 상단의 케밥 버튼 (점 3개)  > 도구 더보기 > 확장프로그램 클릭하기

 

6. 우측 상단의 개발자 모드 토글 클릭 후 , 왼쪽 상단의 "압축해제된 확장 프로그램을 로드합니다" 클릭,코드를 수정한 프로젝트 폴더 선택

이 때 오류가 계속 터지는데 그 부분은 무시!!!!

뭐 manifest version decreated 오류, idundefined 오류, classList undefined오류 그냥 다 무시해주면 된다

 

7. 백준허브와 동일하게 레포지토리 연결

 

8. ★ 릿코드로 문제를 풀 때 old version으로 풀기★

상황에 따라 다를 수 있는데, 내 컴퓨터에서는 new version에서는 릿허브자체가 작동을 안하는 걸 확인했다. (3시간 삽질)

변경된 ui로 인해서 newversion으로 할 시 제대로 작동하지 않는 듯 하다. 

우측 상단의 프로필을 클릭하고  Revert to old version을 클릭해서 변경하면된다.

꼭 문제로 들어가서 revert해야함..! 문제리스트에있는 revert to  old version 눌러봤자 문제 페이지 ui는 변경되지 않음