ํฌ๋ฆฌ์์ดํฐ๋ธํ๊ณ ์ธํฐ๋ํฐ๋ธํ ๊ฐ์ธ ํฌํธํด๋ฆฌ์ค ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด๋ณธ๋ค.
๋จ์ํ ์ด๋ ฅ์ ํ์ด์ง๊ฐ ์๋, ๊ธฐ์ ๊ณผ ๊ฐ์ฑ์ ํจ๊ป ๋ณด์ฌ์ฃผ๋ ์น์ฌ์ดํธ๋ฅผ ์งํฅํ๋ค.
Vite + React + TypeScript
TailwindCSS (์๋ ์ธํ )
Zustand (์ํ ๊ด๋ฆฌ)
styled-components
Framer Motion (์ ๋๋ฉ์ด์ )
GitHub ์ปค๋ฐ ๋ฉ์์ง ์ปจ๋ฒค์ ์ ์ฉ ([feat], [fix], [chore], ...)
Vite ๊ณต์ ํ ํ๋ฆฟ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค.
npm create vite@latest my-portfolio -- --template react-ts
cd my-portfolio
Tailwind ๊ด๋ จ ํจํค์ง๋ฅผ ์ค์นํ๋ค:
npm install -D tailwindcss@latest postcss autoprefixer
๊ทธ ํ ์ค์ ํ์ผ์ ์ง์ ๋ง๋ค์๋ค:
/*tailwind.config.js*/
export default {
content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
theme: {
extend: {
colors: {
neon: "#00ffff",
},
},
},
plugins: [],
};
/* postcss.config.js */
import tailwindcss from '@tailwindcss/postcss'
import autoprefixer from 'autoprefixer'
export default {
plugins: [tailwindcss, autoprefixer],
}
Tailwind ์ง์์ด๋ ๋ฐ๋์ ํ์ผ ์ต์๋จ์ ์์นํด์ผ ํ๋ค.
@tailwind base;
@tailwind components;
@tailwind utilities;
/* custom CSS */
:root {
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
color: rgba(255, 255, 255, 0.87);
background-color: #0f0f0f;
}
๊ฐ์ธ ์ปค๋ฐ ์ปจ๋ฒค์ ์ ์๋์ ๊ฐ์ด ์ ํ๋ค:
ํ์ ์ค๋ช
[feat] ๊ธฐ๋ฅ ์ถ๊ฐ
[fix] ๋ฒ๊ทธ ์์
[style] ์คํ์ผ, ํฌ๋งท ์์
[chore] ์ค์ , ํ๊ฒฝ ๊ตฌ์ฑ
[docs] ๋ฌธ์ (README ๋ฑ) ์์
์ฒซ ์ปค๋ฐ์ ์ด๋ ๊ฒ ๋จ๊ฒผ๋ค:
git commit -m "[chore] Configure Vite + Tailwind + PostCSS setup"
์ด์ ๋ถํฐ๋ ์น์ ์ ํ๋์ฉ ๋ง๋ค์ด๊ฐ๋ฉฐ ๊ฐ๋ฐ์ ์งํํ ์์ :
Header: ์ด๋ฆ, ์ง๋ฌด, ์ฌ๋ก๊ฑด
About: ์๊ฐ
Skills: ๊ธฐ์ ์คํ
Projects: ํ๋ก์ ํธ ์๊ฐ
Contact: ์ฐ๋ฝ์ฒ, GitHub, Velog
๐จโ๐ป ๋ค์ ๊ธ์์๋ Header ์น์
์ ๋ง๋ค๊ณ ์คํ์ผ์ ์ ์ฉํ๋ ๊ณผ์ ์ ๋ค๋ฃฐ ์์
๊ณ์ํด์ ์ด ํฌํธํด๋ฆฌ์ค๊ฐ ์ฑ์ฅํด๊ฐ๋ ๊ณผ์ ์ ๊ธฐ๋กํด๋ณด์!