๐ ๊ฐ์ธ ๋น๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์์ด์!
6864 ๋จ์ด webdevportfoliogatsbyjavascript
ํ์ง๋ง ์ ๋ ์ด ์น์ฌ์ดํธ๊ฐ ์ ๊ฐ ์ง๊ธ๊น์ง ๋ง๋ ์น์ฌ์ดํธ ์ค ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ฑ๋ฅ์ด ์ต์ ํ๋ ์น์ฌ์ดํธ๋ผ๊ณ ํ์ ํฉ๋๋ค.
chandujs.dev
์์ฃผ ๊ฐ๋จํ์ฃ ?
๋ด ์น ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉํ ๊ฒ๋ค์ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ฐ์ธ ๋น
์ด ์ ์ ์ฌ์ดํธ ์์ฑ๊ธฐ๋ ์น ๊ฐ๋ฐ๋ก ๋์๊ฐ๋ ๊ฒ์ ๋ค์ ์๊ฐํ๊ฒ ๋ง๋ค์์ต๋๋ค.
Gatsby๋ ๋น ๋ฅด๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์ต์ React์ฉ ์ ์ ์ฌ์ดํธ ์์ฑ๊ธฐ์
๋๋ค. ์น ์ฌ์ดํธ์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ Angular์์ ์ํ๋์์ต๋๋ค. Gatsby๋ฅผ ๋ฐฐ์ด ํ Gatsby๋ก ์ด์ํ์ต๋๋ค.
์์ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ๊ณ here์์ ์์
์ ์์ํ ์ ์์ต๋๋ค.
ํ๋ฌ๊ทธ์ธ
Gatsby์ ํ๋ฌ๊ทธ์ธ ์์นด์ด๋ธ๋ ์ถฉ๋ถํ ํ๋ถํฉ๋๋ค. ๊ทํ์ ์น์ฌ์ดํธ๋ฅผ ์ํ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๋ํ ํ๋ฌ๊ทธ์ธ์ ์ป์ ์ ์์ต๋๋ค.
๋ธ๋ก๊น
๋ด ์น ์ฌ์ดํธ์ ๋ธ๋ก๊ทธ ์น์
์ด ์์ต๋๋ค. ๊ทธ๋์ gatsby-source-dev ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ด ์ฌ์ฉ์ ID์ dev.to ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๊ณ ๋ด ์น์ฌ์ดํธ์ ๋ ๋๋งํ์ต๋๋ค. ์์ฌ์ด ๋ธ๋ก๊น
โโ๐
ํฌํธํด๋ฆฌ์ค ์ผ์ผ์ด์ค
์น์ฌ์ดํธ์ ๋ด ํฌํธํด๋ฆฌ์ค๋ฅผ ํ์ํ๊ธฐ ์ํด ๋ค์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ต๋๋ค.
gatsby-source-filesystem ํ๋ก์ ํธ์ ๋ชจ๋ ํ์ผ์ ๋์ดํ๋ ค๋ฉด
gatsby-plugin-sharp ์ฌ๋ฌ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๊ธฐ๋ฅ
gatsby-transformer-sharp ์ ๋ช ํ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ง์ํ๋ ์ด๋ฏธ์ง ์ ํ์์ ImageSharp ๋ ธ๋๋ฅผ ์์ฑํฉ๋๋ค
gatsby-transformer-remark Remark๋ฅผ ์ฌ์ฉํ์ฌ Markdown ํ์ผ์ ๊ตฌ๋ฌธ ๋ถ์ํฉ๋๋ค.
gatsby-remark-images ํ๋ก๋์ ๋น๋์์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋งํฌ๋ค์ด์์ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
gatsby-remark-relative-images ๋งํฌ๋ค์ด์ ์ด๋ฏธ์ง src๋ฅผ ํด๋น ๋ ธ๋์ ์์ ๋๋ ํ ๋ฆฌ์ ์๋์ ์ผ๋ก ๋ณํํฉ๋๋ค.
gatsby-plugin-extract-image-colors ์ด๋ฏธ์ง์์ ์์์ ์ถ์ถํ์ฌ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์ถ๊ฐํฉ๋๋ค
์ต์ ํ
Performance optimization์ Gatsby์์ ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์น ์ฌ์ดํธ์์ ์ฌ์ฉํ์ง ์๋ ๋ถํธ์คํธ๋ฉ์ 95%๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ณ๋์ ๊ธฐ์ฌ๋ฅผ ์์ฑํ์ต๋๋ค. ์ฝ๊ธฐhere
๐ Gatsby ์น์ฌ์ดํธ์์ ์ฌ์ฉํ์ง ์๋ CSS์ 95%๋ฅผ ์ญ์ ํ ๋ฐฉ๋ฒ
Chandu J S ใป 2020๋ 2์ 21์ผ ใป 1๋ถ ์ฝ๊ธฐ
#gatsby
#css
#bootstrap
#webdev
๋ท๋ฆฌํ์ด CMS
์ ๋ Netlify์ ํค๋๋ฆฌ์ค CMS๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด CMS๋ ์ ์ ์ฌ์ดํธ์์ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋จํ๊ณ ํตํฉํ๊ธฐ ์ฌ์ด CMS์ ๋๋ค. Gatsby ์น์ฌ์ดํธ์ ํตํฉํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
Netlify CMS์ ๋ํด ์์ธํ ์์๋ณด๊ธฐhere
ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ
์ด ์น์ฌ์ดํธ๋ PWA์ด๋ฏ๋ก ์น์ฌ์ดํธ๋ฅผ ์ด๋ฉด ๋์ค์ ์น์ฌ์ดํธ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋งค์ฐ ์ฌ์ด ๋จ๊ณ๋ฅผ ํตํด Gatsby ์น์ฌ์ดํธ๋ฅผ PWA๋ก ๋ง๋ค ์ ์์ต๋๋ค.
gatsby-plugin-offline ๋ ธ๋ ํจํค์ง๋ฅผ ์ค์นํ๊ณ
plugins
ํ์ผ์ gatsby-config.js
์ด๋ ์ด ๋์ ์๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.[
//...
{
resolve: `gatsby-plugin-manifest`,
options: {
name: 'Chandu J S',
short_name: 'Chandu',
start_url: '/',
background_color: Variables.colors.brand,
theme_color: Variables.colors.brand,
display: 'standalone',
icon: 'src/assets/images/icon.png',
crossOrigin: `use-credentials`,
},
},
'gatsby-plugin-offline',
//...
]
๋ท๋ฆฌํ์ด
ํธ์คํ
์ธก๋ฉด์์ ์ ๋ ์ ์น์ฌ์ดํธ๋ฅผ ํธ์คํ
ํ๊ธฐ ์ํด ๋น์ฉ์ ์ ํ ์ง๋ถํ์ง ์์์ต๋๋ค ๐.Netlify๋ ์ ์ ์น์ฌ์ดํธ์ ๋ํ ๋ฌด๋ฃ ํธ์คํ
์ ์ ๊ณตํ๋ ๋ฉ์ง ์๋น์ค์
๋๋ค.
Netlify๋ ๊ฑฐ์ ๋ชจ๋ ์ข
๋ฅ์ ์ ์ ์ฌ์ดํธ ์์ฑ๊ธฐ๋ฅผ ์ง์ํฉ๋๋ค.
๋ ๋ช
ํํ ํด์ผ ํ ์ฌํญ์ด ์์ผ๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์.
๋ด ์น์ฌ์ดํธ์ ์์ค ์ฝ๋๊ฐ ๊ณต๊ฐ๋์ด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋คhere. ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ์์ ๋กญ๊ฒ ์ฌ์ฉํ์ญ์์ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ๊ฐ์ธ ๋น๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์์ด์!), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/ctrleffive/i-made-my-website-with-gatsby-54jk
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ๊ฐ์ธ ๋น๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์์ด์!), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/ctrleffive/i-made-my-website-with-gatsby-54jkํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค