Hexo는 Node.js로 개발된 블로그 프레임워크입니다. 마크다운으로 글을 작성하고 배포 할 수 있습니다.
Node.js와 마크다운 그리고 깃에 익숙한 사람은 쉽게 블로그를 구축하고 운용 할 수 있습니다.
- Markdown Guide: https://www.markdownguide.org/basic-syntax/
- Git Tutorial: https://git-scm.com/docs/gittutorial
설치
Hexo 설치 및 운영을 위해서는 v8.10 이상의 Node.js와 Git이 설치되어 있어야 합니다.
Node.js와 Git이 설치됐으면, npm을 이용하여 hexo-cli 패키지를 설치하시면 됩니다.$ npm install -g hexo-cli
$ hexo -v
명령어를 실행하여 정상적으로 설치 됐는지 확인합니다.
$ hexo -v |
초기화
Hexo 설치가 완료됐으면, 프로젝트 생성 및 필요한 패키지 설치를 위해 아래의 명령어를 차례대로 실행합니다.
$ hexo init {folder} |
프로젝트 생성 및 초기화가 정상적으로 완료되면 아래의 폴더 구조가 생성됩니다.
. |
각 폴더의 역할은 아래와 같습니다.
- scaffolds: Scaffold 파일이 위치하는 폴더입니다. Hexo 명령어 (e.g.
hexo new post {post-name}
)로 새로운 포스트나 페이지를 생성 할 때, Scaffolds를 기준으로 새 파일을 생성합니다. - source: 웹 사이트의 컨텐츠(Markdown Files)가 위치하는 폴더입니다. 렌더링 가능한 파일(e.g. Markdown, HTML 등)은 전처리 후 public 폴더로 복사됩니다.
- themes: 설치된 Theme가 저장되는 폴더입니다. 설치된 Theme 중 적용하려는 Theme를 _config.yml 파일에서 지정합니다.
설정
_config.yml 파일의 속성을 수정하여 블로그/사이트의 설정을 변경 할 수 있습니다.
사이트의 이름, URL, 게시글의 Permalink 형식, Theme, Deploy 속성 등을 설정 할 수 있고, 자세한 내용은 링크를 참고하시기 바랍니다.
새 글 작성
hexo new post {post-name}
명령어를 실행하면 /source/_posts/{post-name}.md
경로에 파일이 생성됩니다.
생성된 파일에 마크다운 양식으로 글을 작성한 다음, $ hexo generate --deploy
명령어로 배포 할 수 있습니다.hexo server
명령어로 로컬 서버를 구동하면, http://localhost:4000/ 주소에서 확인 가능합니다.
Post의 Front-matter는 기본적으로 title, date, tags를 포함합니다.
Front-matter에 선언된 tags, category, date 정보는 generate 과정에서 자동으로 추출되어 관리됩니다.
Draft 작성
hexo new draft {post-name}
명령어를 사용하면 Draft 상태로 글을 작성 할 수 있습니다.
Draft 상태로 추가한 글은 /source/_drafts/{post-name}.md
경로에 생성된 파일에 작성 할 수 있습니다.
Draft가 초안 또는 완성되지 않은 상태를 의미하듯, hexo generate --deploy
명령어로 배포시 목록에 포함되지 않습니다.
Draft로 작성한 글은 hexo server --draft
옵션으로 실행한 경우에만 확인 가능합니다.hexo publish [layout] {post-name}
명령어로 완성된 글을 공개 할 수 있습니다. [layout]
은 post 또는 page가 될 수 있습니다.
Post에 Asset 첨부
_config.yml
의 post_asset_folder: true
속성을 변경하여 Asset 폴더 관리 기능을 활성화하면,hexo new post {post-name}
명령어로 포스트를 추가 할 때마다 Asset 폴더를 생성합니다.
이후 상대경로로 Asset 폴더내의 파일을 참조 할 수 있습니다.

Disqus 연동
아마 댓글이 달리지는 않을 겁니다. 그래도 없으면 허전하니까, Disqus를 연동하기로 합니다.
Hexo로 구축한 사이트에 Disqus를 연동하기 위해서는 사용하고 있는 Theme에서 Disqus 연동을 지원하는지 확인해야 합니다.
이 블로그의 테마인 Polar Bear의 경우, Disqus 연동을 지원합니다.
방법은 간단합니다. /themes/{theme-name}/_config.yml
테마 설정 파일의 disqus_shortname
값을 입력하면 자동으로 연동 됩니다. 설정 방식은 Theme에 따라 다를 수 있으나 유사한 것 같습니다.disqus_shortname
은 Disqus 가입 후 Site 생성하면 발급됩니다. Disqus Site 생성은 여기.