공식 문서에 명령어가 잘 정리되어 있지만 오래 블로그를 안 하다가 다시 할 때 마다 까먹어서 찾아보게 되어 내가 자주 쓰는 명령어들을 정리해보았다.
Scaffolds & Source
- Hexo를 초기화한 폴더 안에 글을 쓸 때 파일이 생기는 폴더는
source
이고, 그source
가 생성되는 템플릿을 담아두는 폴더가scaffolds
이다. - 현재 내
scaffolds
폴더 안에는draft.md
,page.md
,post.md
세 개의 파일이 있다. - 대부분 나는 글을 바로 post로 쓰지 않고 draft로 먼저 생성한 후 post로 옮기기 때문에
draft.md
파일에 다음과 같이 템플릿을 담아 뒀다.
1 | --- |
title
은 처음에 터미널에서draft
를 생성할 때 입력하는 제목이지만 배포되는 글의 제목으로 들어가기 때문에 생성된 파일에서 변경해준다.- 단, 그
draft
를 저장하는 파일명은 url이 되기 때문에 한국어로 작성하면 오류가 날 수도 있다. - 날짜는 저렇게 해두면 자동으로 입력이 된다. 수정할 수 있다.
banner
는 내 경우 블로그 글마다 프리뷰 이미지가 들어가게 해 둔 테마여서 설정해 주었는데, 매번 배너를 만들기 귀찮아서 우선적으로 디폴트 이미지를 넣어 주고 나중에 수정을 해 주고 있다.categories
와tags
는 우선 비워두고, 글을 작성할 때 아래와 같이 작성해주면 된다 .
1 | categories: |
categories
에 두 개를 작성하게 되면 하위 그룹으로 구분되어 카테고리 폴더가 생성된다. 예를 들어 다음 코드와 이 블로그의 카테고리 탭을 살펴보면 이해할 수 있다.
1 | categories: |
draft
와 post
생성하기
이제 scaffolds에 원하는 draft들을 생성하고 글을 쓰려고 한다면, 터미널에서 다음과 같이 입력한다.
1
hexo new [layout] <title>
[layout]
에는draft
나post
를 쓰면 된다.<title>
에는 원하는 영문 제목을 쓰면 된다. (이 포스트의 url이 되는 부분)- 예를 들어
1
hexo new draft hexo-commands
라고 작성한다면, hexo-commands.md
라는 파일이 scaffolds
에 생성해둔 템플릿대로 source
폴더의 _drafts
폴더 안에 새롭게 생성된다.
- 포스트로 바로 발행할 글을 작성하려고 한다면
1
hexo new post hexo-commands
라고 입력하면source
폴더의 _posts
안에 생성된다.
-
로컬에서 확인하기
- 다음 명령어로 로컬에서 현재 블로그가 어떤 모습으로 보일지 볼 수 있다.
1
hexo server
아마 터미널에 나오겠지만 기본적으로 http://localhost:4000/
에 들어가서 페이지를 볼 수 있다. Ctrl+C
로 끌 수 있다.
- draft를 포함한 상태를 확인하고 싶다면 다음과 같이 입력하면 된다.
1
hexo server --draft
draft에 있는 글을 post로 발행하기
- 개발자 스럽지는 않지만 직관적으로 할 수 있는 방법은 드래그 앤 드롭으로
_drafts
에 있는.md
파일을_posts
로 옮겨주면 된다. 아니면 다음 명령어를 작성해도 된다.
1
hexo publish [draft] <title>
예를 들어
hexo-commands.md
라는 글을_draft
에서_posts
로 옮기고 싶으면 다음과 같이 입력하면 된다.1
hexo publish draft hexo-commands
글 배포하기
- 정적 파일을 생성한 후 deploy하기 위해 터미널에 다음 두 명령어를 입력한다
1
hexo generate
1 | hexo deploy |
- 저 두 가지는 한번에 입력하거나 다음과 같이 줄여서 입력할 수 있다.
1 | hexo generate deploy |
1 | hexo generate -d |
1 | hexo deploy -g |
가끔 수정한게 반영이 바로바로 안 되기도 하는데 캐시를 지우고 다시 해도 된다 .
1
hexo clean
이렇게 해도 바로 깃헙 페이지에 반영이 안 될수도 있는데 그럴 때는 몇 분 기다리면 나온다.
- 더 자세한 내용은 공식 문서를 참고하자! https://hexo.io/ko/docs/commands.html