Creco's Blog

Tech

GitHub Pages 를 활용한 나만의 Cheatsheet CLI 툴

조회수235

읽는 시간: 5분




안녕하세요, Frontend Engineer 정석호입니다. 개발자라면 터미널 앞에 앉아 yarn startgit, docker 커맨드를 사용해 본 경험이 많으실 거예요. 저도 종종 자주 안 쓰는 옵션이나 자세한 커맨드 전체 내용을 간혹 까먹어서 매번 구글링하느라 시간 훌쩍 가는 일이 있더라고요. 그래서 간단하면서도 터미널이면 어디서든 동일하게 스니펫처럼 알고 싶은 걸 알아낼 수 있는 방법을 만들어 봤습니다.ㅎㅎ 이번 글에서는 GitHub Pages 정적 호스팅 + Curl을 이용해 나만의 CLI 치트시트를 만드는 과정을 나눠볼게요.



cheatsheet CLI 툴은 왜 필요한가요?


터미널에서 반복되는 명령어를 외우거나, 매번 검색해서 찾아 사용하는 일은 은근히 번거롭습니다. 특히 여러 기기나 다른 서버 환경을 오갈 때는 더 헷갈리기 마련이죠. 그래서 저는 GitHub Pages에 정적 파일을 올려두고, CURL 한 줄로 내용을 가져오는 방식을 선택했어요. 덕분에 인터넷이 되는 환경이라면 어디서나 동일한 방법으로 빠르게 확인할 수 있답니다.



Demo




설치 방법


아래 명령어 한 줄로 스크립트를 설치하면, 즉시 제가 미리 만들어둔 ch 명령을 사용할 수 있어요.


wget -q -O - https://creaticoding.github.io/cheatsheet.creco.me/install.sh | bash

복잡한 설정 없이 바로 깔리니까 정말 쉽죠?😄😄 사실 커스텀도 어렵지 않아서 더 알아보고 싶으신 분들은 끝까지 읽어주세요!



사용법


설치 후 터미널에서 키워드를 입력하면, 해당 내용이 바로 출력됩니다.


ch list



  • list를 치면 등록한 모든 키워드를 볼 수 있어요.



ch [키워드]




  • [키워드]를 치면 [키워드]관련 팁이나 미리 작성해놓은 내용을 쭉 볼 수 있어요.



스크립트 구현부 맛보기



  • 아래 내용은 구현부를 일부 발췌한 예시입니다.


#!/usr/bin/env bash

command=$1

BASH_URL=https://creaticoding.github.io/cheatsheet.creco.me

result=$(curl -XGET -L -s "$BASH_URL/keywords/$command")

# result 안에 Page not found 가 있으면
if [[ $result == *"Page not found"* ]]; then
echo "🚧 커맨드를 찾을 수 없습니다."
echo "\"ch list\" 명령어로 키워드 목록을 확인해주세요."
exit 1
fi

printf '%s ' "$result" | glow -

입력된 키워드를 통해 URL에 매핑해서 키워드에 대한 내용을 CURL 명령어로 가져오고, 없는 키워드면 에러 메시지를 띄우도록 구성했어요.



1. Repo Fork 로 시작하기



  1. 제 리포지토리를 포크합니다.


✂️ 포크하러 가기: https://github.com/creco-org/cheatsheet.creco.me



2. GitHub Pages 세팅 방법


아래 단계를 따라 하시면 여러분도 바로 정적 호스팅을 시작할 수 있습니다:



  1. GitHub에서 새 레포지토리를 만듭니다.

  2. 레포 Settings → Pages 메뉴로 이동합니다.

  3. 배포 브랜치를 main 또는 master로 지정한 뒤 저장하세요.

  4. “Your site is live at” 아래에 표시된 URL이 여러분의 CDN 주소가 됩니다.



3. 키워드 추가하기


원하는 키워드를 등록하려면 레포에 키워드 이름의 파일만 하나 만들면 돼요.



  • 파일 이름: docker

  • 파일 내용: Docker 사용 팁 상세 설명



커밋 후 푸시하면 즉시 ch docker로 확인할 수 있습니다. 간단하죠?




마무리


매번 구글링하느라 낭비하던 시간이 확 줄어들 거예요!


궁금한 점은 댓글로 남겨주시거나 제 리포지토리의 이슈에 질문을 올려주시면 상세히 답변 도와드릴게요!



저와 함께 이런 재밌는 툴들을 많이 만들어보고 싶다면?



채용공고: Frontend Platform Engineer