hexo + github + blog ์ฐ๋ํ๊ธฐ
๋ค์ด๊ฐ๊ธฐ์ ์์ ์์ ๋ถํฐ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํด์ผ์ง ํ๊ตฌ์ tistory, naver blog ๋ฑ ๋ค์ํ ํ๋ซํผ์ผ๋ก ์์์ ํ์์ง๋ง ์ด๋ ๋คํ ์ด์์ด ์๋์๊ณ ์ฌ์ค ์ด์ ์ด ๋ถ์กฑํ์๋ค. ์ง์ ํํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ์๋ ๋๋ฌด ๋ง์ ํ๋ค์ด ์๋ค๋ณด๋ (์๋ฒ๊ตฌ์ถ, ํธ์คํ
, ๋๋ฉ์ธ ๋ฑ …) ๊ณ์ ์ฐจ์ผํผ์ผ ๋ฏธ๋ฃจ๊ณ ์์๋ค. ๊ทธ๋ฌ๋ค github์์ ์ ๊ณตํ๋ pages๋ผ๋ ๊ฑธ ์ด์ฉํด์ ๋ฌด๋ฃ๋ก ๋๋ฉ์ธ๊ณผ ์นํธ์คํ
์ ํ ์ ์๋ค๋ ๋ถ๋ถ์ ์๊ฒ๋์๊ณ , ๊ฑฐ๊ธฐ์๋ค jekyll์ ์ด์ฉํ๋ฉด ์ค์นํ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํ ์ ์๋ค๋๊ฒ์ ๋๋ผ์ ๋ค. ํ์ง๋ง jekyll์ ์ ์ฉํด๋ณด๋ ค๊ณ ์ด๊ฒ์ ๊ฒ ํ๋ค๋ณด๋ ruby๋ผ๋ ์ธ์ด๋ก ๋ง๋ค์ด์ ธ์๊ณ ์ปค์คํฐ๋ง์ด์ง์ด ์ด๋ ต๋ค๋ ๋ถ๋ถ์ ํ์ธ, ์ข๋ ์์๋ณด๋ค hexo ๋ผ๋ ๊ฑธ๋ก ํด๋น ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค๊ฒ ๋์๋ค. ํ์์ฒ๋ผ ๋จ๋ค๊ณผ๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค๊ณ ์ถ๊ฑฐ๋, git command ๊ณต๋ถ๋ ํ๋ฉด์ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํด๋ณผ ์ฌ๋๋ค์ ํด๋น ๊ธ์ ์ฒ์ฒํ ๋ฐ๋ผ์ค๋ฉด ์ข์๊ฒ ๊ฐ๋ค.
hexo ์์ํ๊ธฐ hexo ๋ผ๋๊ฑธ ์์ํ๊ธฐ ์ํด ๋ช๊ฐ์ง ์ค๋น๋ฌผ์ด ์๋ค.
node ์ค์น git ์ค์น github์ ๋ธ๋ก๊ทธ๋ก ์ฌ์ฉํ ๋น repository ์์ฑ github์ hexo ์ค์ ์ ์ ์ฅํ ๋น repository ์์ฑ ์ 4๊ฐ์ง(?!)๊ฐ ์ ๋ถ ์ค์น ๋์๋ค๊ณ ๊ฐ์ ์ ํ๊ณ ์์์ ํด๋ณด๊ฒ ๋ค.
hexo ์ค์น ๊ฐ๋จํ๋ค. hexo ํ์ด์ง์๋ ๋์์๋๊ฒ์ฒ๋ผ ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํด์ฃผ๋ฉด ๋๋ค.
$ npm install -g hexo-cli ๋ธ๋ก๊ทธ๋ก ์ด์ํ ํด๋ hexo ์ด๊ธฐํ ํด๋ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ์์์ ํด๋๋ฅผ ํ๋ ๋ง๋ค๊ณ ํด๋น ํด๋๋ฅผ hexo ๋ช
๋ น์ด๋ก ์ด๊ธฐํ ์์ผ์ค๋ค.
$ mkdir <๋๋ ํ ๋ฆฌ๋ช
> $ hexo init <๋๋ ํ ๋ฆฌ๋ช
> ๋ก์ปฌ์๋ฒ ๋์๋ณด๊ธฐ ์ด์ ๋ก์ปฌ์์ ์๋ฒ๋ฅผ ๋์์ ๋ธ๋ก๊ทธ๊ฐ ์ด๋ป๊ฒ ๋์ค๋์ง ํ์ธ์ ํด๋ณด๋ฉด ๋๋ค.
$ hexo s (or server) ๊ฐํน ์๋ฒ๊ฐ ์คํ์ด ์๋๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์, ์์ ํ ๋ถ๋ถ์ด ๋ฐ์์ด ์๋๋ค๋ฉด clean ๋ช
๋ น์ด๋ฅผ ํ๋ฒ ํด์ค ๋ค์์ ๋ค์ ์๋ฒ๋ฅผ ์คํํด์ฃผ๋ฉด ๋๋ ๊ฒฝ์ฐ๋ ์๋ค.
$ hexo clean $ hexo s (or server) http://localhost:4000 ์ ์ ์ํด์ ์ ์์ ์ผ๋ก ํ์ด์ง๊ฐ ๋์ค๋์ง ํ์ธ์ ํด๋ณด์. ํ์ด์ง๊ฐ ์ ์์ ์ผ๋ก ๋์จ๋ค๋ฉด ์ฑ๊ณต!
๊ธ ์์ฑ ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด /source/_post/ ์๋์ .md ํ์ผ์ด ์์ฑ์ด ๋๋ค.
$ hexo new <๊ธ ์ ๋ชฉ> ํด๋น ํ์ผ์ ์ฌ์ฉํ๊ธฐ ํธํ ์๋ํฐ๋ก ์ด์ด์ ๋งํฌ๋ค์ด ๋ฌธ๋ฒ์ ๋ง์ถ์ด ์์ ์ ํ๋ฉด ๋!
์ ๋๊ฐ์ repository๊ฐ ํ์ํ๊ฐ ์๋์์ ์ด์ผ๊ธฐ ํ๊ฒ ์ง๋ง, ํ๋๋ ์ค์ ๋ธ๋ก๊ทธ ๋ด์ฉ์ด ์ฌ๋ผ๊ฐ ์ ์ฅ์์ด๊ณ ๋ค๋ฅธ ํ๋๋ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํ๊ณ ์๋ hexo ์์ฒด๋ฅผ ์ ์ฅํ ์ ์ฅ์์ด๋ค. hexo ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์๊บผ๋ผ๋ฉด(ํ์์ฒ๋ผ ๋ค์ํ PC์์ ์
๋ก๋ ํ๊ฒฝ์ ๊ตฌ์ถํ์ง ์์๊บผ๋ผ๋ฉด) ํ๋์ ๋ ํ์งํ ๋ฆฌ๋ง ํ์ํ ์๋ ์๋ค.
github ์
ํ
์ง๊ธ๋ถํฐ๊ฐ ์์ง๋ฐฐ๊ธฐ๋ค. ์ฆ ์ด๊ธ์ ํฌ์คํ
ํ๋ ์๋ฏธ. ๋ค๋ฅธ ๊ธ๋ค์์๋ hexo ์ฌ์ฉ๋ฒ์ ์น์ ํ๊ฒ ์๋ ค ์ฃผ์
จ์ผ๋ github์์ ์ฐ๋, ๊ทธ๋ฆฌ๊ณ ์ด๋ค์์ผ๋ก ์ด์ํด์ผํ ์ง๋ ์ฐพ๊ธฐ ํ๋ค์๋ค. ํ์๋ ๊ฐ์ผ๋ก ๊ทธ๋ฐ๊ฐ๋ณด๋ค(?)ํ๊ณ ์ ํฐ๋ํ ๋ฐ๋ฅผ ๊ณต์ ํ๋ คํ๋ค. (์ด๊ฒ ์ ๋ต์ ์๋์ง๋ง, ๋๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋๊ฒ ๋ง๊ฒ ๋ค ์ถ์ด..)
์ผ๋ฐ์ ์ผ๋ก github์์ ๋ธ๋ก๊ทธ๋ก ์ฌ์ฉํ repository๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด http://(github์์ด๋).github.io/(repository์ด๋ฆ) ์ผ๋ก ๋ธ๋ก๊ทธ๊ฐ ๋ง๋ค์ด ์ง๋๋ฐ ๋ญ๊ฐ ์กฐ๊ธ ์ด์ํด์ ๊ฐ์ง๊ฐ ์๋์ ์ฐพ๊ณ ์ฐพ์์ ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ๊ฒ ๋์๋ค. ํ์์ github ์์ด๋๋ taetaetae ์ด๊ณ ๋๋ฉ์ธ์ ์์ด๋ ๊ทธ๋๋ก๋ฅผ ์ฌ์ฉํ์ฌ http://taetaetae.github.io ์ผ๋ก ์ฌ์ฉํ๊ณ ์ถ์๋ค. ๋ฐ๋ผ์ github์ repository์ด๋ฆ์ taetaetae.github.io๋ก ๋ง๋ค์ด์ผ ํ๋ค. ์ฌ๊ธฐ๊น์ง๋ง ํ๋ฉด ์ผ๋จ github์ ๋ฐฐํฌํ ์ ์๋ ์ค๋น๊ฐ ๋์ด์๋ ์ํ
hexo๋ก ๋ฐฐํฌํ๊ธฐ ํฌ์คํ
ํ ๊ธ์ด ์ ์์ ์ผ๋ก ๋ฑ๋ก์ด ๋ ๊ฒ์ ๋ก์ปฌ์๋ฒ์์ ํ์ธ์ด ๋์์ผ๋ฉด ์ด ์ํ๋ฅผ ์กฐ๊ธ์ ๋ง๋ github repository์ผ๋ก ๋ฐฐํฌ(์ ํํ ๋งํ๋ฉด git push)ํด์ค์ผ ํ๋ค. ๊ทธ์ ์ ์ต์์ ํด๋์ ์๋ _config.yml ํ์ผ์ ์ด์ด์ github ์ ๋ณด๋ฅผ ์
๋ ฅํด ์ค์ผ ํ๋ค. ํ๋จ ์์ญ Deployment ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ๊ณ ์ ์ฅํ๋ค.
# Deployment deploy: type: git repo: https://github.com/taetaetae/taetaetae.github.io branch: master ๊ทธ ๋ค์ hexo ์์ github๋ก ๋ฐฐํฌํ ์์๋ ํ๋ฌ๊ทธ์ธ์ ์ค์นํด์ค๋ค.
$ npm install hexo-deployer-git --save ์ด์ ์ค์ ํ github์ ๋ฐฐํฌ๋ฅผ ํ๋ฉด ๋!
$ hexo deploy 1๋ถ~3๋ถ ๋ค์ ๋๋ฉ์ธ์ ์ ์ํ์ฌ ์ ์์ ์ผ๋ก ํ์ด์ง๊ฐ ๋์ค๋์ง ํ์ธํ๊ณ , github์ ํ์ผ๋ค์ด push๊ฐ ์ ๋์๋์ง๋ฅผ ํ์ธํ๋ค.
ํฅํ ๊ด๋ฆฌ hexo ์ ๋ณด ์ ์ฅ ๋์ค์ ๋ค๋ฅธ PC์์๋ ๋ธ๋ก๊ทธ๋ฅผ ํฌ์คํ
ํ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ hexo๋ฅผ ์ด์ฉํ์ฌ ํฌ์คํ
ํ ํ๊ฒฝ ์์ฒด๋ฅผ ์ ์ฅ ํด์ผํ ํ์๊ฐ ์๊ฒผ๋ค. ๋ฐ๋ผ์ ๋ง๋ค์๋ ํด๋ ๋ํ github์ ์
๋ก๋๋ฅผ ํด๋๋๊ฒ ์ข์๊ฒ ๊ฐ๋ค (์ง๊ทนํ ๊ฐ์ธ์ ์ธ ์๊ฐ) git command ์ค๋ช
์ ๋ฐ๋ก ์ ๋ฆฌํ์ง ์๊ฒ ๋ค.