Hello (Again) World!
ํ์๋ฒ๋ฅผ ๋ ๋ ค๋จน์ด์ ๋ธ๋ก๊ทธ๋ฅผ ์๋ก ๋ง๋ ์ด์ผ๊ธฐ
๋ ๋ค์ ๋ง๋ค๊ฒ ๋ ์ด์ผ๊ธฐ
ํ์๋ฒ์ ๋ธ๋ก๊ทธ์ ๋ฐฑ์๋๋ฅผ ๋ด๋นํ๋ Ghost CMS๊ฐ ๋ถ์ด์์๋๋ฐ, ํ์๋ฒ์ ๋ฐ์ดํฐ๊ฐ ๋ ๋ผ๊ฐ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ ๋ ค๋จน์๋ค. ๋ณต๊ตฌํ ๋ ค๊ณ ์๊ฐ์ ์ฐ๊ธฐ์๋ ํ์ฌ ์ ๋ฌด๊ฐ ๋๋ฌด ๋ง์์ด์, ํฌ๊ธฐํ๋ค๊ฐ ์ต๊ทผ์ ๋ค์ ํ์ ๋ด์ ๋ธ๋ก๊ทธ๋ฅผ ๊ณ ์ณค๋ค.
์ด์ฏค๋๋ฉด ๋ธ๋ก๊ทธ๋ฅผ ๋ค๋ฌ๋๊ฒ์ ์ฐ๋ก ํ์ฌ์ฏค์ผ๋ก ์ผ์์ผํ๋ ์ถ๊ธฐ๋...
์ด๋ฒ์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค
1. React Router + Vite
9๋ฒ์ ๋ถํฐ ์ฌ์ฉํด์ ์ ๋ค์๋ NextJS๋ฅผ ๋ฒ๋ฆฌ๊ณ , react-router๋ฅผ ์ฌ์ฉํ๋ค. ์ฃผ๋ ์ด์ ๋ ์ ์์์ ์กฐ๊ธ์ด๋ผ๋ ๋ฒ์ด๋๋ ์ฌ์ฉ์ ํ๋ ค๊ณ ํ ๋ ์ธ์ ๋ ๊ณ ํต์ค๋ฌ์ ๋ ์ฌ์ฉ ๊ฒฝํ์ด ํ ๋ชซ์ ํ๋ค๊ณ ์๊ฐํ๋ค.
react-router๊ฐ v7 ๋ฒ์ ์ผ๋ก ์ฌ๋ผ์ค๋ฉด์ remix๋ฅผ ํก์ํ๋๋ฐ ์ด๋ clientLoader
์ ๊ฐ์ ๋์๋ค์ ์ฝ๊ฒ ์ ์ํ ์ ์๊ฒ ๋์ด์ ์ต๊ทผ์ ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ค.
์ปค์คํ ๋ ์๋์ ์ผ๋ก ์์ ๋กญ๊ณ , ๋ฑํ ๋งํ๋๊ฒ๋ ์์ด์ ๋ง์กฑํด์ ์ฌ์ฉํ๊ณ ์๋ค. ์ง์์ Vite๋ก ๋์ด์ฌ๊ป.. ์ด๋ผ๋ ํํ๊ฐ ์์ง๋ง... ์ง๊ธ์ด๋ผ๋ ๋์ด๊ฐ์ผ๋ ๋๊ฑฐ๋ค.
2. MDX + react-router-mdx
์ ์ ๋งํฌ๋ค์ด ์์ฑํ๋ค๊ฐ CMS๋ก ๋ฐ๊ฟจ๋ค๊ฐ ๋งํฌ๋ค์ด์ผ๋ก ๋ค์ ๋ง๋ค๋ค๊ฐ ์์ฑํ๋๊ฑธ ๊ณ์ ๋ฐ๋ณตํ๋ค๋ณด๋ ๊ทธ๋ฅ ํ์ผ๋ก ์ ์ฅํ๋๊ฒ ๊ฐ์ฅ ๋ซ๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ๋ค. DB๋ฅผ ๋ ๋ ค๋จน์ผ๋ฉด ์ง๊ธ๊น์ง ๊ณ ์ํ๋๊ฒ ๋ค 0์ผ๋ก ๋์๊ฐ๊ธฐ์, ์ด์ ๋ ์ง์ง๋ก ์๋ ๋ ค๋จน๊ฒ ๋ค๋ ๋ง์๊ฐ์ง์ผ๋ก Git์๊ฒ ๋์ ๋ธ๋ก๊ทธ ๊ธ ๊ด๋ฆฌ๋ฅผ ๋งก๊ธฐ๊ธฐ๋ก ํ๋ค.
๊ทผ๋ฐ ๋ง๋ค๋ค๋ณด๋ mdx ํ์ผ์ ์ ์ ๋ ๋๋ง์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ์์ ๋ ์๋ฌด๋๋ ๋ชป์ฐพ๊ฒ ์ด์, ํฌ๊ธฐํ๊ณ react-router-mdx๋ฅผ ์ฌ์ฉํ๋ค. ์ด๊ฑธ Vercel ํ๊ฒฝ์ ๋ฐฐํฌํ๋๊น MDX ํ์ผ์ ๋ชป๋ถ๋ฌ์ค๋ ์ฌ์ํ์ง๋ง ๋งค์ฐ ๊ฒฐ์ ์ ์ธ ์ค๋ฅ๊ฐ ์์ด ์์๋ก ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง์ ํฌ๊ธฐํด์ผํ๋ค๋ ์์ฃผ ๋ผ์ํ ๊ฒฐ๊ณผ๊ฐ ๋๋ฅผ ๋ฐ๊ฒผ๋ค.
์ด๊ฑฐ ์ฐ๋ฉด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ค์ฝ๋ ๋ณด๊ณ ์๋๋ฐ remark ํ๋ฌ๊ทธ์ธ์ ๋ ๋ชป๋ถ์ด๋๊ฒ์ ์์๋๋ค... ์ง์ง ๋ด์ฌํ ํด์ผ๊ฒ ๋ค...
3. Mantine UI
์์งํ ์ธ์ ํ ๊ฑด ์ธ์ ํด์ผ๊ฒ ๋ค. ๋๋ ๋์์ธ์ ์ฌ๋ฅ์ด ์๋ค. ๊ทธ๊ฒ๋ ์์ฃผ ์ฒ์ฐธํ๊ฒ ์๋ค.
๊ทธ๋ ๊ธฐ์ tailwind๋ก ์ง์ ํผ๋ธ๋ฆฌ์ฑ์ ํ๋๊ฒ๋ณด๋ค ๊ทธ๋ด์ธํ๊ฒ ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๋๊ฒ์ด ๋ซ๊ฒ ๋ค๋ ํ๋จ์ ํ๊ณ , MantineUI๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๋ถ์กฑํ ๋์ ๋ฏธ๊ฐ์ผ๋ก๋ ๊ฝค๋ ๊ด์ฐฎ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋๋๋ฐ ๋์์ด ํฌ๊ฒ ๋์๋ค.
ํธ์ํฐ(X) ์์ ์ธ์ ๊ฐ ๋ณด์๋ ํ ๋ง์ง์์ผ๋ก ๋ฐฐ๊ฒฝ์์ #FAFAFA
, ๊ธ์์์ #1A1A1A
๋ก ์ค์ ํ๋๊น ๋์ฑ ์๋ป์ก๋ค. (์ผํธ)
4. SUIT + Tossface
Pretendard๋ ๋ถ๋ช ๊น๋ํ ํฐํธ์ง๋ง, ๋๋ SUIT ํฐํธ๊ฐ ๋ ์ด์๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ SUIT๋ฅผ ๋ธ๋ก๊ทธ์ ๋ฉ์ธ ํฐํธ๋ก ์ฌ์ฉํ๊ณ , ์ด๋ชจ์ง๋ ๊ทธ๋ฅ ์ฐ๊ธฐ์๋ ๋ฐ๋ฐํด์ Tossface๋ฅผ ์ฌ์ฉํ๋ค.
๊ทธ๋์ ๋ญ ๋ ํด์ผํ ๊น
๋งจ๋ TODO๋ก ํ๊ฒ ๋ค๊ณ ํด๋๊ณ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐ๊ฟ๋ฒ๋ฆฌ์ง๋ง... ์ง์ง ์ด์ ๋ ํ ๋งํ๋ค๊ณ ์๊ฐ(์ธ์ ๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์)ํด์ ์ด๊ฒ์ ๊ฒ ๋ถ์ฌ๋ณด๊ธฐ๋ก ํ๋ค.
react-router-mdx ์์กด์ฑ ์ง์ฐ๊ธฐremark-gfm ์ด๋ ์ด๊ฒ์ ๊ฒ ๋ถ์ด๊ธฐ- SSR ๋ค์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ (์๋ ๊ฑฐ ๊ฐ๊ธด ํ๋ฐ...) -> ๊น๋ํ๊ฒ ํฌ๊ธฐ
- ๋๊ธ ๊ธฐ๋ฅ
- ๋ฐฉ๋ช ๋ก ๊ธฐ๋ฅ
- ๊ธ/ํ๊ทธ ๊ฒ์ ๊ธฐ๋ฅ
๋ฉ๋ชจ ์นดํ ๊ณ ๋ฆฌ๋ ์๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ ๋ถ๋ฆฌํ๊ธฐ- ์์ ๋ฒ๋ค๋ง ๊ธฐ๋ฅ
ํ ๊ฑฐ ๊ฒ๋๊ฒ ๋ง๋ค...