Hexo는 간단하고 파워풀한 프레임워크로써, 마크다운 문법을 통해 포스트를 작성하면 theme와 함께 정적 웹사이트를 만들 수 있습니다. 설치와 설정 그리고 theme 등 공식문서를 잘 읽어보면 더 유용한 기능들이 많으며 이번 포스팅에서는 Hexo 명령어를 통해서 글 작성하는 법 즉, 포스트를 생성하고 배포하는 법을 다뤄보겠습니다.
명령어
1 | hexo new [layout] <title> |
Hexo 에서 새 포스트나 페이지를 생성하기 위한 명령어로 기본 layout
은 post 이지만 블로그의 _config.yml
에서 default_layout
을 변경하면 기본 생성 layout 유형이 바뀝니다.
Layout
Hexo에서는 아래와 같이 3개의 기본 레이아웃을 제공하며 생성된 파일들은 서로 다른 경로에 저장됩니다.
종류 | 정의 | 생성 경로 |
---|---|---|
post | 블로그에 바로 발행 가능한 레이아웃 | source/_posts |
draft | post 처럼 바로 게시하지 않고 작성할 수 있는 초안 | source/_drafts |
page | post 처럼 하나의 게시물이 아닌 하나의 페이지를 생성 | source |
Scaffold - 레이아웃 파일 생성
포스트 생성 시 Hexo는 scaffolds
폴더 내의 적당한 파일을 기반으로 구성하며 기본적으로 각 레이아웃 이름의 마크다운 문서 이름을 참고한다. 예를 들어 hexo new post "newPost"
라는 명령어는 scaffolds/post
파일의 placeholder를 사용하여 새로운 마크다운 문서를 생성할 수 있습니다.
예를 들어, scaffolds/post.md
파일이 아래와 같다면, hexo new post "newPost"
를 통해 newPost.md
가 생성된
1 | title: {{ title }} |
파일의 placeholder 는 아래와 같이 채워진다. 즉, 레이아웃에 따른 common yaml 포맷 또는 placeholder가 있다면 scaffolds의 레이아웃 폴더에 기재함으로써 편리하고 공통의 포맷을 유지할 수 있다.
1 | title: newPost |
Draft에 대해서
위에서 설명했듯이 Draft
는 바로 게시하지 않고 작성할 수 있는 초안입니다. Draft
를 사용하며 편리했던 점은 연속으로 게시해야 되는 포스트를 한번에 작성한 후 순차적으로 게시해야 할때 hexo publish (파일 이름)
명령어로 하나씩 Post
로 발행해 배포하면 된다는 점입니다.
아래는 제가 설정했던 Draft
관련 설정과 명령어 입니다.
Draft
를 기본 레이아웃으로 변경하기
_config.yml에서# Writing
이라는 주석처리된 섹션에서default_layout
필드를 초기값인post
에서draft
로 변경하면 됩니다.로컬 서버에서
Draft
문서 띄우기
작성 중인 Draft 문서를 확인할 수 있는데 아래와 같이--draft
옵션을 주면 로컬 서버에서도 확인할 수 있습니다.1
hexo server --draft
Draft 발행하기
Draft 작성이 완료되었다면 이제 발행해야 하는데 아래의 순서와 같이 진행하면 된다.
Draft
문서를Post
레이아웃으로 변환하기
사실 변환이라고 대단한건 아니고 그저_drafts
디렉토리에서_posts
디렉토리로 이동하면서 작성일시가 추가되는 것이 전부이다.1
hexo publish (Draft 이름)
배포하기
아래 명령어를 통해 배포 가능하다.1
hexo deploy 또는 hexo g -d