콘텐츠로 건너뛰기
Home » [Github Page Hexo] 원본 저장소 소스에서 환경 셋팅하는 방법

[Github Page Hexo] 원본 저장소 소스에서 환경 셋팅하는 방법

여러 PC 에서 Hexo 로 깃허브 블로그 운영시 환경을 셋팅하는 방법

정원딸린집 블로그에서는 “깃허브 블로그” 운영과 관련된 내용들을 최근에 올리고 있는 중입니다. 깃허브 블로그를 운영하기 위해서는 “정적 사이트 생성기”인 “Jekyll(지킬)” 과 “Hexo” 등을 사용해야 하는데, 원래는 지킬을 사용하려고 하다가 개발 환경이 루비인 것과 원본소스가 공개되는게 다소 꺼려져서 “Hexo” 로 바꿔서 운영하려는 계획을 가지고 있습니다.

Hexo 로 테스트를 해보니 제겐 나름 괜찮은 대안이 될거 같아서 앞으로도 Hexo + Icarus 테마 조합으로 운영하려고 하고 있습니다. 화면 구성도 나름 깔끔하면서 “Node.js” 기반이다 보니 제가 공부하면서 커스텀 작업을 할수 있을거 같아서 활용도가 높을 거 같습니다.

또한 Hexo의 경우에는 원본소스를 바로 깃허브 페이지에 올리는 구조가 아닌 웹 페이지 파일들을 생성하여 생성된 파일을 페이지에 올리기 때문에 “원본 소스”를 Private(비공개) 저장소에 따로 관리하는게 가능합니다.

따라서 원본 소스를 공개하기 꺼리는 분들이게는 괜찮은 대안이 될거 같습니다. 물론 나의 깃허브 페이지에 올려지는 생성된 파일들이 공개가 되기 때문에 큰 의미가 없을 수도 있지만 저는 HTML 같은 웹 파일이 공개되는 것은 크게 신경쓰이지 않는 듯 합니다.

어쨌거나 Hexo 로 깃허브 블로그를 운영하는게 가능한데, Hexo 의 원본 소스를 만약 1개의 PC가 아닌 2개 이상의 PC에서 작업을 하게 되면 어떨까요? 단순히 내 원본소스의 저장소에서 Clone 만 하면 되는 걸까요?

이번 글에서는 Hexo 의 원본소스를 다른 PC 에서 작업시 초기 환경 셋팅 방법에 대해 알아보겠습니다.

내 Private 저장소에서 Hexo 환경 설정 절차

예를 들어 A라는 PC 에서 처음 Hexo 환경을 구성하고 난 다음에 원본 소스를 Private 저장소에 Push 했다면 해봅시다.

일단 A라는 PC의 특정 폴더에서 작업을 하는 것은 큰 문제가 없습니다. 그런데 내가 B라는 PC 에서 Hexo 로 블로그 글을 쓰려면 일단 원본 소스가 저장된 Private 저장소에서 Clone 을 해야 할겁니다.

Hexo 를 사용하기 위해서는 B PC 에서도 node.js 환경을 설치를 해야 합니다. 그런데 이 상태에서 원본 소스가 저장된 저장소에서 clone 를 하더라도 hexo 명령어를 비롯하여 테마등을 동일하게 사용하는게 불가합니다.

따라서 다시 B PC 에서 hexo 관련 패키지를 설치하고 난 다음에 git clone 및 파일들을 삭제해 줘야 합니다.

# Hexo CLI 설치
npm install -g hexo-cli

# hexo init 으로 hexo 기본 소스 트리 구조 생성
hexo init <새폴더>

# 생성된 폴더로 이동
cd <새폴더>

# 나의 Private 저장소를 연결하기 위해 git 환경 설정.
git init

# 내 Private 저장소 추가
git remote add origin "my repo"

# 기존에 있던 충돌나는 파일들을 골라서 삭제
git pull origin main --allow-unrelated-histories

# hexo cli 파일을 ROOT 경로에 설치
npm install -g hexo-cli --save

# Icarus 테마 설치
npm install hexo-theme-icarus --save

위의 예가 보이듯이 hexo 명령어로 소스 트리 생성 후 생성된 소스의 루트로 이동하여 리모트 저장소를 추가 해줍니다. git pull을 한 후에 여기서 충돌이 나는 파일들을 죄다 삭제를 한 후 다시 git pull 을 진행하면 됩니다.

그런 다음에 Hexo CLI 를 파일로 현 루트 폴더에 저장 후 테마 파일을 저장해주면 Hexo 글쓰기 환경 설정이 완료됩니다.

이 뒤로는 글쓰기를 A의 PC처럼 그대로 진행하면 되겠습니다.

'정원딸린집'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!