1. 설치

Node install

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

Hexo install

// hexo cli
sudo npm install hexo-cli -g

Hexo 글쓰기 폴더 설정

// 폴더 설정
hexo init <folder name>
cd <folder name>

// 관련 프로그램 설치
npm install

Git Setting

sudo npm install hexo-deployer-git --save
# _config.yml
deploy:
  type: git
  repo: https://github.com/<id>/<id>.github.io.git

2. 웹 표준 / 검색엔진(SEO) 최적화

Sitemap setting

sudo npm install hexo-generator-sitemap --save
# _config.yml 
sitemap:
  path: sitemap.xml
  template: ./sitemap_template.xml
<!-- sitemap_template.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  {% for post in posts %}
  <url>
    <loc>{{ post.permalink | uriencode }}</loc>
    {% if post.updated %}
    <lastmod>{{ post.updated.toISOString() }}</lastmod>
    {% elif post.date %}
    <lastmod>{{ post.date.toISOString() }}</lastmod>
    {% endif %}
  </url>
  {% endfor %}
</urlset>

robots.txt setting

sudo npm install hexo-generator-robotstxt --save
# _config.yml 
robotstxt:
  User-agent: "*"
  disallow:
    - /js/
    - /css/
  allow:
    - /
  sitemap:
    - /sitemap.xml

canonical setting

sudo npm install hexo-auto-canonical --save
# 자신이 사용하는 테마의 head를 담당하는 ejs 파일에서 <head> 태그 부분에 아래 내용 추가

<head>
  ...
  <%- autoCanonical(config, page) %>
  ...
</head>

Open Graph setting

# 자신이 사용하는 테마의 head를 담당하는 ejs 파일에서 <head> 태그 부분에 아래 내용 추가
<head>
  ...
  <meta property="og:type" content="website">
  <meta property="og:title" content="<%= config.title %>">
  <meta property="og:description" content="<%= config.description %>">
  <meta property="og:url" content="<%= config.url %>">   
  ...
</head>

3. 명령어

hexo server 시작

hexo server
or
hexo s

new post - 포스트 쓰기

hexo new "My New Post"
or
hexo n "Post 이름"

draft - 임시 포스트 쓰기

hexo new draft <My temporary post>

publish - 임시 포스트 공개

hexo publish <My temporary post>

clean - public 폴더 정리

hexo clean

generate - html/css 생성

hexo generate
or
hexo g

deploy - git에 올리기

hexo deploy
or
hexo d

4. Github 올리기

1. deploy 저장소 생성

  • <계정 ID>.github.io 이름으로 저장소를 생성한다. ex) admin.github.io

2. _config.yml 설정

  • _config.ymal 파일의 deploy 주소를 이전 단계에서 생성한 저장소로 설정한다. Git Setting 부분 참고

3. deploy 실행

 hexo d

+ Recent posts