Contents

hexo + github + blog ์—ฐ๋™ํ•˜๊ธฐ

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ

์˜ˆ์ „๋ถ€ํ„ฐ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•ด์•ผ์ง€ ํ•˜๊ตฌ์„œ tistory, naver blog ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์œผ๋กœ ์‹œ์ž‘์„ ํ–ˆ์—ˆ์ง€๋งŒ ์ด๋ ‡๋‹คํ•  ์šด์˜์ด ์•ˆ๋˜์—ˆ๊ณ  ์‚ฌ์‹ค ์—ด์ •์ด ๋ถ€์กฑํ–ˆ์—ˆ๋‹ค. ์ง์ ‘ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ํ—ˆ๋“ค์ด ์žˆ๋‹ค๋ณด๋‹ˆ (์„œ๋ฒ„๊ตฌ์ถ•, ํ˜ธ์ŠคํŒ…, ๋„๋ฉ”์ธ ๋“ฑ …) ๊ณ„์† ์ฐจ์ผํ”ผ์ผ ๋ฏธ๋ฃจ๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค github์—์„œ ์ œ๊ณตํ•˜๋Š” pages๋ผ๋Š” ๊ฑธ ์ด์šฉํ•ด์„œ ๋ฌด๋ฃŒ๋กœ ๋„๋ฉ”์ธ๊ณผ ์›นํ˜ธ์ŠคํŒ…์„ ํ• ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ถ€๋ถ„์„ ์•Œ๊ฒŒ๋˜์—ˆ๊ณ , ๊ฑฐ๊ธฐ์—๋‹ค jekyll์„ ์ด์šฉํ•˜๋ฉด ์„ค์น˜ํ˜• ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ• ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒƒ์— ๋†€๋ผ์› ๋‹ค. ํ•˜์ง€๋งŒ jekyll์„ ์ ์šฉํ•ด๋ณด๋ ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๋‹ค๋ณด๋‹ˆ ruby๋ผ๋Š” ์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ์–ด๋ ต๋‹ค๋Š” ๋ถ€๋ถ„์„ ํ™•์ธ, ์ข€๋” ์•Œ์•„๋ณด๋‹ค hexo ๋ผ๋Š” ๊ฑธ๋กœ ํ•ด๋‹น ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•„์ž์ฒ˜๋Ÿผ ๋‚จ๋“ค๊ณผ๋Š” ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๊ฑฐ๋‚˜, git command ๊ณต๋ถ€๋„ ํ•˜๋ฉด์„œ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•ด๋ณผ ์‚ฌ๋žŒ๋“ค์€ ํ•ด๋‹น ๊ธ€์„ ์ฒœ์ฒœํžˆ ๋”ฐ๋ผ์˜ค๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™๋‹ค.

hexo ์‹œ์ž‘ํ•˜๊ธฐ

hexo ๋ผ๋Š”๊ฑธ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡๊ฐ€์ง€ ์ค€๋น„๋ฌผ์ด ์žˆ๋‹ค.

  1. node ์„ค์น˜
  2. git ์„ค์น˜
  3. github์— ๋ธ”๋กœ๊ทธ๋กœ ์‚ฌ์šฉํ•  ๋นˆ repository ์ƒ์„ฑ
  4. 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 ์„ค๋ช…์€ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์ง€ ์•Š๊ฒ ๋‹ค.

git ์ดˆ๊ธฐํ™”
$ git init

๋ณ€๊ฒฝ์‚ฌํ•ญ ์ถ”๊ฐ€(์ „์ฒด))
$ git add .

์ปค๋ฐ‹
$ git commit -m "์ปค๋ฐ‹๋ฉ”์‹œ์ง€"

remote repository ๋“ฑ๋ก
$ git remote add origin https://github.com/taetaetae/hexo.git

remote repository๋กœ push
$ git push origin master

๋งˆ์น˜๋ฉฐ

์•„์ง git command ๋‚˜ markdown, hexo ๋“ฑ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„๋“ค์ด ๋งŽ๋‹ค. ํ•˜๋‚˜์”ฉ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์–ด๊ฐ€๋ฉด์„œ ์ •๋ฆฌ๋ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„๋“ค์€ ์ด์–ด ์ •๋ฆฌ๋ฅผ ํ•  ๊ณ„ํš์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  hexo ๊ธฐ๋ณธ๊ฐœ๋…์ด๋‚˜ ์„ค์ •ํŒŒ์ผ ์ˆ˜์ •ํ•˜๋Š” ๋ถ€๋ถ„๋“ค์€ ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ๋งŽ์ด ์˜ฌ๋ ค๋†“์œผ์…จ๊ธฐ ๋•Œ๋ฌธ๋ฐ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๋Š๋ผ๋Š” ๋ถ€๋ถ„๋“ค ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌ๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค.


Buy me a coffeeBuy me a coffee