์ด Gatsby Starter์๋...
- ๐ gatsby-remark-highlight-code๋ฅผ ํตํ ์ปค์คํ ํ ์ฝ๋ ํ์ด๋ผ์ดํ ๊ธฐ๋ฅ
- ๐ฌ utterances ๋๊ธ ๊ธฐ๋ฅ ์ง์
- โ 'Buy me a coffee' ๋ผ๋ ํ์ ๊ธฐ๋ฅ
- ๐ค Google Analytics ์ง์
- โ ๋ณ๋ ์ค์ ํ์ผ์ ํตํ ๋ธ๋ก๊ทธ ์ธ๋ถ ์ฌํญ ์ค์ ์ง์
- TypeScript๋ฅผ ์ฌ์ฉ
- ๋์์ธ์ Velog์ ํ์ฌ์ฝ๋์ gatsby-starter-bee์์ ์๊ฐ์ ๋ฐ์ ์ ์ํ์์ต๋๋ค.
์ด ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค์๋ค๋ฉด ์ '์ฌ์ฉํ ๋ธ๋ก๊ทธ' ๋ฆฌ์คํธ์ ์ถ๊ฐํด์ฃผ์ธ์! PR์ ํตํด ๋ฑ๋กํด์ฃผ์๋ฉด ๋ฉ๋๋ค!
# ์ด ๋ธ๋ก๊ทธ ์คํํฐ๋ฅผ ์ฌ์ฉํ์ฌ gatsby ํ๋ก์ ํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
npx gatsby new my-blog-starter https://github.com/2-one-week/gatsby-starter-oneweek.git
๋ง์ฝ
npx
๋ฅผ ์ฌ์ฉํ๊ณ ์์ง ์๋๋ค๋ฉด, Gatsby Getting Started ๊ธ์ ์ฐธ๊ณ ํ๊ฑฐ๋ ์๋ ์ปค๋งจ๋๋ฅผ ์คํํด์ฃผ์ธ์.
npm install -g gatsby-cli
gatsby new my-blog-starter https://github.com/2-one-week/gatsby-starter-oneweek.git
cd my-blog-starter/
npm start
# ๋ธ๋ผ์ฐ์ ์์ localhost:8000๋ก ์ ๊ทผ ๊ฐ๋ฅ
๋ค์ ๋ ๊ณณ์์ ํฌ์คํ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ๋ธ๋ก๊ทธ ํฌ์คํ
์
content/blog
๋๋ ํ ๋ฆฌ์ ์ถ๊ฐํด์ฃผ์ธ์.- ํด๋๋ฅผ ๊ตฌ๋ถํ๋ฉด, ํด๋น ํด๋๋ก routing ๋ฉ๋๋ค.
- ์น์ ์ฌ๋ ค๋ ์ด๋ ฅ์๋
content/__about
๋๋ ํ ๋ฆฌ์ ์ถ๊ฐํด์ฃผ์ธ์.
๋ช ๊ฐ์ง์ ๋ฉํ๋ฐ์ดํฐ์ ๋งํฌ๋ค์ด ๋ฌธ๋ฒ์ผ๋ก ํฌ์คํ ์ ์์ฑํ ์ ์์ต๋๋ค.
/gatsby-user-config.js
ํ์ผ์์ ์ฌ์ฉ์์ ๋ฐ๋ฅธ ๋ธ๋ก๊ทธ๋ฅผ ์ค์ ํ๋ ์ฌ๋ฌ ์์๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
5. Netlify๋ก ๋ฐฐํฌ
๐ก github pages๋ฅผ ํตํด ๋ฐฐํฌํ๊ณ ์ถ๋ค๋ฉด ์๋ npm script๋ฅผ package.json
์ ์ถ๊ฐํด์ฃผ์ธ์.
"scripts": {
"deploy": "gatsby build && gh-pages -d public -b master -r 'git@github.com:${your github id}/${github page name}.github.io.git'"
}
gh-pages
๋ชจ๋์ด ํ์ํ ๊ฒฝ์ฐ ์ค์น๊ฐ ํ์ํฉ๋๋ค.
/root
โโโ gatsby-config.js // Gatsby config
โโโ gatsby-user-config.js // Template config by user
โโโ gatsby-node.js // Gatsby Node config
src
โโโ components // ์ฌ๋ฌ๊ณณ์์ ์ฌ์ฉํ๋ ๊ณตํต ์ปดํฌ๋ํธ๋ค
โโโ pages // ๊ธฐ๋ณธ ํ์ด์ง routing post: /(home), /about, /category
โโโ styles
โ โโโ global-style.ts // styled compoenents์์ ์ฌ์ฉํ global style
โ โโโ theme.ts // styled compoenents theme
โโโ containers
โโโ post.tsx
โ โโโ components // post ํ์ด์ง๋ง์ ์ํ component๋ค
โ โโโ index.tsx //
โโโ layout.tsx // home, post, resume layout
gatsby-user-config
์์ ์ ํตํด main color๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
{
...
mainColor: `color what you want`
...
}
- ํ๋กํ ์ฌ์ง! (replace file in
/contents/assets/profile.png
) - ํ๋น์ฝ ์ด๋ฏธ์ง! (replace file in
/contents/assets/favicon.png
) - ๋ธ๋ก๊ทธ ์ฌ์ดํธ Default Meta ์ด๋ฏธ์ง! (replace file in
/contents/assets/default.png
) - Utterances๋ฅผ ์ํ repository๋ฅผ ์ค์ ํด์ฃผ์ธ์! (
/gatsby-user-config.js
์ repository ์ฃผ์๋ฅผ ๊ต์ฒดํด์ฃผ์ธ์.)โ ๏ธ ์ด ๊ฐ์ด๋๋ฅผ ๊ผญ ํ์ธํด์ฃผ์ธ์.