Hexo를 이용해 GitHub에 블로깅하기 - 2
이전 글에서는 Hexo를 선정한 이유와 설치, 기본 세팅에 대해 알아봤다. 이번 글에서는 Hexo에서 글을 쓰고 정적 페이지로 변환해 배포하는 방법에 대해 알아볼 것이다.
Writing
글쓰기도 터미널에서 명령어를 입력해서 시작한다.
|
|
여기서 layout
이란건 글의 종류 혹은 진행상황을 말한다. 기본적으로 page
(일반 페이지), draft
(초안), post
(완성본) 세 종류가 존재한다. scaffolds/<레이아웃 명칭>.md
파일을 열어보면 해당 종류에 따른 글의 기본 틀을 알 수 있다.
레이아웃을 이용해서 초안을 작성하려면 아래 명령어를 이용하면 된다. 아래 명령어를 사용하면 source/_drafts/
에 자동으로 레이아웃을 바탕으로 글을 작성해 준다.
|
|
해당 디렉토리에 입력한 제목을 이용한 마크다운 파일이 생성된 것을 확인 할 수 있다.
|
|
파일을 열어보면 다음과 같은 구조인 것을 볼 수 있다.
|
|
---
를 기준으로 글을 정보를 담는 헤더(Header) 단락과 본문 단락이 구분된다. 마지막 ---
을 기준으로 상단이 헤더, 하단이 본문이 된다.
헤더는 YAML의 구조를 띈다. 헤더 중 title
은 글의 제목을 나타내며, tags
는 글의 태그를 나타낸다. 태그 분류 라이브러리를 이용할 경우 이 정보를 기반으로 분류가 된다. tags
는 다음과 같이 여러 태그를 달 수 있다.
|
|
---
이후로는 마크다운을 이용해 본문을 작성하면 된다.
본문 작성을 완료하고 글을 공개하려면 다음 명령어를 이용하면 된다.
|
|
해당 명령어를 이용하면 글을 source/_drafts/
에서 source/_posts/
로 이동시켜주며, 헤더에 현재 날짜와 시간을 date
태그로 달아준다. 그럼 최종적으로 글은 아래와 같을 것이다.
|
|
굳이 위와 같이 레이아웃을 이용하며 draft
- publish
의 과정을 거치지 않고 직접 글을 작성해도 되는데, 이 경우 source/(_drafts|_posts)
에 해당 양식대로 작성해 넣으면 된다.
Preview
이제 제대로 글이 써졌는지 확인 해 볼 차례다. node.js
를 이용한 서버를 기동해서 로컬 상에 블로그를 띄워보자. 이 과정을 통해 설정 파일을 잘못 작성하지는 않았는지, 헤더나 마크다운이 꼬여서 글이 잘못 나오지는 않는지 확인해 볼 수 있다.
|
|
메세지에 나오는 바와 같이 http://localhost:4000/에 접속해 보면 Hexo를 이용한 블로그가 실행되고 있는 것을 볼 수 있다.
Generating
글이 문제없이 보여진다면, 최종적으로 정적 페이지를 생성하고 GitHub에 배포하자. 정적 페이지를 생성하기 위해서는 다음 명령어를 이용하면 된다.
|
|
해당 명령어를 실행하면 public
디렉토리에 index.html
을 비롯해 블로그 정적 페이지들이 생성된다. 이 때 변경사항은 기본적으로 알아서 판별해 페이지를 생성하지만, 문제가 있을 경우에는 hexo clean
으로 기존에 생성된 파일을 삭제한 후 재생성 하자.
Deployment
이제 이 파일을 GitHub 상에 올리기만 하면 된다. 먼저 GitHub에 올리기 위해 저장소부터 만들자. GitHub에서 정적 페이지를 서비스하기 위해서는 저장소 명칭을 <계정명(username)>.github.io
라고 지어야 한다. 만약 GitHub 계정이 zero2hex
라면 zero2hex.github.io
라고 지어야 하는 것이다. 잘 모르겠다면 여기를 보고 참고하도록 하자.
그 다음으로 _config.yml
에 배포에 관련된 설정을 한다. Hexo는 Git, Heroku, Rsync, OpenShift, FTPSync 등 다양한 플랫폼으로의 배포를 지원한다. 여기서는 Git 배포를 이용해 GitHub에 올릴 것이다. (다른 방식의 배포는 여기를 참고하자) _config.yml
에 다음과 같은 포맷의 설정을 추가한다.
|
|
type
: git, heroku, rsync 등 배포 방식을 입력한다. 여기서는 git을 입력한다.repo
: 배포할 GitHub 저장소 주소를 입력한다.branch
: 배포할 브랜치를 입력한다. 입력하지 않으면 알아서 메인 브랜치에 올린다.message
: 커밋 메세지를 입력한다. 따로 입력하지 않으면Site updated: <YYYY-MM-DD HH:mm:ss 형식 날짜>
포맷의 메세지가 기본적으로 입력된다.
위의 설정을 마쳤다면 배포 명령어를 이용해 GitHub에 파일을 올리도록 하자.
|
|
명령어를 입력하면 GitHub 계정 정보를 입력하는 등 몇가지 과정을 거쳐 저장소에 웹페이지가 올라갈 것이다. 성공적으로 저장소에 파일들이 업로드 됐다면 블로그에 접속해 보자. 주소는 저장소 명칭(<계정명(username)>.github.io
)과 같다.
자, 그곳이 여러분의 블로그다.