Ubuntu에서 Github Page와 Hexo을 연동 및 설정

Git Page와 Hexo를 통해 개인의 기술 관련 문서를 손쉽게 연동 할 수 있습니다.

또한 여러 테마중에 하나를 선택해서 사용 할 수도 있어 좋습니다.
디자인 괜찮은게 많습니다.

1
2
3
4
5
OS : "ubuntu 16.04 LTS"
편집기 : "Visual Studio Code"
hexo 문서 url : https://hexo.io/ko/docs/setup.html

로컬에 git 설치 및 Github에 ssh-keygen연동은 되어 있다는 가정하에 진행 하였습니다.

Git Page로 정적 페이지 Hosting

Github Repository 생성하기

1
2
3
4
5
6
7
1. Github에 Repository를 생성합니다.
2. 이름이 중요한데 자신의 정적 페이지라서
'USERNAME' 은 Github의 가입시에 사용자의 'username'로 하고
'Repository' 이름은 'USERNAME.github.io'로 지으면 좋습니다.
3. Public / Private 중 Public 선택 합니다.
4. Create Repository 버튼을 통해 Repository 생성 합니다.
5. 간단하게 Github페이지에서 READ.md파일을 생성해 봅니다.

Github Repository Clone && Push

usernamebyungjiklim 이라고 하고 진행 하겠습니다.

1
2
3
4
5
6
7
8
9
10
# clone
$ cd $DevWorkspace
$ git clone https://github.com/username/byungjiklim.github.io

# push
$ cd byungjiklim.github.io
$ echo "Hello World" > index.html
$ git add --all
$ git commit -m "first commit"
$ git push -u origin master

Hexo Install

1
2
3
Hexo은 정적 페이지를 쉽게 만들 수 있도록 도와주는 서비스 입니다.
Hexo은 npm을 통해 쉽게 설치가 가능하고 Command Line을 통해 Github에 바로 배포 할 수 있습니다.
또한 다양한 플러그인과 테마를 지원하고 있습니다. Jekyll라는 서비스도 있다고 합니다.

미리 설치 해야 할 구성 요소

  • Node.js (로컬 설치 버전 v8.11.2)
  • npm (로컬 설치 버전 5.6.0)

설치가 되어 있지 않으면 Node.js, npm이 설치는 아래와 같습니다.

1
2
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

npm 퍼미션 관련된 부분 수정이 필요한데 아래 블로그를 참고 하면 된다.
http://programmingsummaries.tistory.com/374

hexo-cli 설치와 시작 준비

hexo-cli을 설치하여 hexo명령어를 사용할 수 있게 합니다.
https://github.com/hexojs/hexo-cli

(Command line interface for Hexo.)

1
2
3
4
$ npm install hexo-cli -g
$ hexo init blog #임의로 blog라고 만들고 초기화
$ cd blog
$ npm install

설정 파일 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
root디렉토리(blog)에 _config.yml 설정파일이 생성이 됩니다.
간단하게 블로그에 이름과 소개등을 수정을 할 수 있습니다.

# Site
title: Carpe diem
subtitle:
description:
keywords:
author: byungjikLim
language: en
timezone: Asia/Seoul

# URL, # Directory 등등 여러 설정등이 있습니다.

Server에 수정된 파일 반영

1
$ hexo clean && hexo deploy --generate
Contents licensed under Creative Commons by-nc-sa 4.0.