Jekyll, GitHub, Netlify ์ฌ์ฉ ์์๐
Jekyll theme, GitHub์ ์ฝ๋๋ Netlify๊ฐ ๊ด๋ฆฌํฉ๋๋ค.๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.
...๋ ์์ด!
Jekyll
GitHub
Netlify CMS
์ ๊ฒฐ ์กฐ๊ฑด
๋๋ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์์ง๋ง, ๋๋ ์ฝ๊ฐ์ ๋ฌผ๊ฑด์ ๊ฐ์ง๊ณ ํ์ ํ ์ด๋ธ์ ์ฌ ๊ฒ์ด๋ค.๋ฐ๋ผ๊ฐ ๊ณํ์ด๋ผ๋ฉด ๋ค์ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.
๐NOTE: While this tutorial was written with Windows in mind, the only difference per platform is how you install Jekyll and file paths.
์ถ์ ๋ฐฐ๊ฒฝ
my blog์ ๋ฐ์ฌ๋ ์๋ชป๋ ์์์ด๋ค.๋ด๊ฐ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๊ฒ์ ๋ด๊ฐ ์๋ก์ด ๋๊ตฌ๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ถ์งํ๊ธฐ ์ํด์์ด๋ค.
์ฌ๋ฌ ํด ๋์ ์ ๋ ๊ฐ์ํ๋ Nginx ๊ฐ์ ๋จธ์ ์ ํตํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ํ์ง ์ฌ์ดํธ๋ฅผ ์ํ ๊ด๋ฆฌํ์ต๋๋ค.
๊ทธ ์ค๋๋ ์ฌ์ดํธ๊ฐ ์ถ์๋ ์ด๋๋ก ๋๋ ์ค๊ณง below ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ํ ๊ด๋ฆฌํ ๊ฒ์ ๊ณ ๋ คํ๊ณ ์๋ค.๋๋ ๋ด๊ฐ ์ด๋ป๊ฒ ์ด ๋ชฉํ๋ฅผ ์คํํ๋์ง ๊ธฐ๋กํ์ฌ ๋ชจ๋์๊ฒ ๋ณด์ฌ ์ฃผ์๋ค(์ฝ๊ธฐ?)๊ณ ํฅ
์ฐ๋ฆฌ๋ค์ ๋ค๊ฐ ์ด๋ป๊ฒ ๋์ ์์ ๋ฅผ ๋ฒ ๊ปด ์ฐ๋์ง ํ ๋ก ํ๊ธฐ ์์ํ๋ค.
๊ฐ์
ํผ์ฆ:
Jekyll: ์์ํ ํ ์คํธ๋ฅผ ์ ์ ์ฌ์ดํธ๋ก ๋ณํํฉ๋๋ค.
GitHub: Jekyll์ด ์ฌ์ฉํ๋ ์ ์ ํ์ผ์ด ์๋ ์์น์ ๋๋ค.
Netlify: GitHub๋ก ์ ์ก๋๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ๊ณ ์ฌ์ดํธ๋ฅผ ๋ฐฐ์นํ๋ฉฐ HTTPS๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
์ ํฌ
์ค์น
๋จผ์ ํ์ ๊ตฌ์ฑ ์์๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
choco install ruby
๊ณ์ํ๊ธฐ ์ ์ ํ๊ฒฝ์ ์๋ก ๊ณ ์นฉ๋๋ค.
gem install bundler
choco install msys2
์ค์นridk install 3
gem install jekyll
๋๋ ๋น์ ์ด ์ข์ํ๋ ํ
๋ง (์๋ ์ค๋ช
์ฐธ์กฐ) ๐NOTE: I would pause here if you're interested in leveraging a custom theme, as Jekyll themes often
provide all the files you'll need to get started. My blog uses the HydeJack theme, described below.
๋ง์ง๋ง์ผ๋ก ๋ธ๋ก๊ทธ๋ฅผ ์์ํ๊ณ ์คํํฉ๋๋ค.
cd C:\Projects
jekyll new myblog
(๋ง์ฝ์์ฌ์ฉ์ ์ ์ ํ ๋ง ์ฌ์ฉ ์ค)
cd myblog
bundle install
jekyll serve
๋ด ์ฃผ์
๋ด ๋ธ๋ก๊ทธ๋ Hydejack Pro์ ์ฃผ์ ๋ฅผ ์ด์ฉํ๋ค.๋ง์ฝ ๋ค๊ฐ ํฅ๋ฏธ๊ฐ ์๋ค๋ฉด, Hydejack documentation์ ์์ฃผ ์ข์ ์์์ด๋ค.๋๋ ์ด ์ฃผ์ ์ ํ๋ก ๋ฒ์ ์ ์ฃผ์ ์ฅ์ ์ด ์ด๋์ด ๋ชจ๋๋ฅผ ์ง์ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค.
๋ฌด๋ฃ ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด Hydejack starter kit์ ๋ณต์ ํ๊ฑฐ๋ ๋ค์ด๋ก๋ํ์ญ์์ค.๋ชจ๋ ํ์ผ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ป๊ณ ์คํํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
์ฌ์ฉ์ ์ ์ ๋ฐ ๊ต์ฒด
์ด๊ฒ์ ๋ค๊ฐ ๋๋ถ๋ถ์ ์๊ฐ์ ์จ์ผ ํ๋ ๊ณณ์ด๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ง๊ธ๊น์ง ์ง์ ์ผ๋ก ํด ๋ณธ ์ ์ด ์๋ค.๋๋ ๋์ ์ฌ์ดํธ์ ์ฝ๊ฐ์ ๊ฐ์ฑ์ ์ถ๊ฐํ๊ณ ์ถ์ ๊ฒ์ด๋ค.my GitHub repo์ ๋ชจ๋ ๋ด์ฉ์ ๋ง์๋๋ก ๋ณต์ฌํด ์ฃผ์ญ์์ค.๋ ๋ค๋ฅธ ์ข์ ์์์ ์ ํํ๋ Jekyll ํ๋ฌ๊ทธ์ธ์ ๊ฒ์ํ๋ ๊ฒ์ด๋ค.
์ต์ํ ๊ธฐ๋ณธ๊ฐ์ด ์๋ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ๋ ค๋ฉด
_config.yml
, Gemfile
๋ฐ ํฌํจ๋ ๊ฐ๊ฒฉ ์ธํ ํ์ผ (์: about.markdown
๋ฐ index.markdown
) ์ ์์ ํด์ผ ํฉ๋๋ค.๋๋ ๋ค๊ฐ ์ฝ๊ฐ์ ์๊ฐ์ ์จ์ ์ฌ์ดํธ์ ๊ธฐ๋ณธ ์ค์ ์ ํ์ด๋ณด๋ ๊ฒ์ ๊ฑด์ํ๋ค.๋ธ๋ก๊ทธ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ์ ์ฐจ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
_config.yml
)github
3๋จ๊ณ ์ค ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์ด๋ฏธ ์์ฑ๋์์ต๋๊น?๊ณ์ ๋น์ ์ ์ฌ์ดํธ๋ฅผ ์คํํ์ธ์!
์ ์ฅ์ ์ค์
๋ค๊ฐ ์ด ์ฌ์ดํธ์์ ๋ณธ ๋ชจ๋ ๊ฒ์ ๋์ GitHub
Repo์ ์๋ค.๋ค์์ ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
https://github.com/new์ผ๋ก ์ด๋:
Jekyll
MIT License
์ ์ ํํ์ง๋ง, ์ด๊ฒ์ ๋์๊ฒ ๋ฌ๋ ค ์๋ค.Create Repository
๐ก TIP: I manage my repo in VSCode, but this will work via the command line as well.
GitHub ํ์ผ
VSCode์์ ์์ฃผ ์ฌ์ฉํ๋ GitHub ํ์ผ์ ๋ก์ปฌ๋ก ์์ ํด์ผ ํฉ๋๋ค.
README.md
: ๋ชจ๋ ์ฌ๋์ด ์ ์ฅ์์ ์ก์ธ์คํ ๋ ๋ณผ ์ ์๋ ๋ด์ฉ์
๋๋ค.์ข์ ์์ ํ์ผ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํ ํํธ๋ makeareadme.com์ ์ฐธ์กฐํ์ญ์์ค.์:
This repo hosts my website, which leverages Jekyll and Netlify to serve this static website.
.gitignore
: ํ์ผ์ด GitHub์ ์
๋ก๋๋์ง ์์์ผ๋ฏ๋ก ๋ค์์ ํ์ธํด์ผ ํฉ๋๋ค.์:
_site
.jekyll-cache
Gemfile.lock
์น ์ฌ์ดํธ ์คํ
์น ์ฌ์ดํธ๋ฅผ GitHub์ ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ:
Netlify CMS
๋ง์ง๋ง ์คํธ๋ ์นญ!์ด์ ์ด ์ฌ์ดํธ๋ฅผ ์๋ํํฉ์๋ค!
๐ฌ TL;DR: Netlify runs the
jekyll build
command for you against your GitHub repo, does SSL/optimization/CDN "magic", and publishes your website.
๋ค์ ์ ์ฐจ๋ ๊ณต์ Netlify Jekyll guide์์ ์ง์ ์์๋ฉ๋๋ค.
New site from Git
์ ์ฌ์ดํธ ์ถ๊ฐDeploy in progress
์ ๋ณด์
์ผ ํฉ๋๋ค. ์ฝ 1๋ถ ํ์ ์ ์ฌ์ดํธ(์ฌ์ฉ์ ์ ์ URL์ด ์์)๊ฐ ์ค์๊ฐ์ผ ๊ฒ์
๋๋ค!Netlify ๋ฐ GitHub ํ์ด์ง
Netlify๋ ๋ฌด๋ฃ custom domain support, automatic certificate management, handles minify for CSS and JavaScript ๋ฑ์ด ์์ต๋๋ค.
analytics ๊ฐ์ ๋น์ฉ ์ง๋ถ ๊ธฐ๋ฅ์ ์ฟ ํค๋ฅผ ํ์๋ก ํ์ง ์์ต๋๋ค.
๋ง์ฝ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์๊ณ ์ถ๋ค๋ฉด, Netlify์ website์ ์ข์ ๋น๊ต๊ฐ ์ง์ ์ด๊ฑฐ๋์ด ์์ต๋๋ค.
๊ฒฐ๋ก
Jekyll, GitHub, Netlify๋ฅผ ํ์ฉํ๋ฉด ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ์ ๋ชจ๋ ์ฅ์ ์ ์ป์ ์ ์์ต๋๋ค. ๋น์ฐํ ์๋ SSL ๋ฑ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ์๋ฆ๋ค์ด ์ฌ์ดํธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ ๋ค๊ฐ ์ด ์๋ด์๊ฐ ๋งค์ฐ ์ ์ฉํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ธธ ๋ฐ๋๋ค.๋๋ ๋ค๊ฐ ์๊ฐ์ ์จ์ ๋์ ์ฒซ ๋ฒ์งธ ๋ฐ๋ฌธ์ ์ฝ์ด ์ค์ ๋งค์ฐ ๊ณ ๋ง๋ค.
๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ์ ์์ด ์๋ ๊ฒฝ์ฐ () ์๊ฒ ์ง์ ์ฐ๋ฝํ๊ฑฐ๋ ์๊ฒฌ์ ๋จ๊ฒจ ์ฃผ์ญ์์ค.
์ด์ ๋๊ฐ์ ์๋ฆ๋ค์ด ์ฌ์ดํธ๋ฅผ ๋ง๋ค์๐๏ธ
๊ด๋ จ ๋งํฌ
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Jekyll, GitHub, Netlify ์ฌ์ฉ ์์๐), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/tseknet/get-started-with-jekyll-github-and-netlify-3andํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค