๐ Hello World
Astro-Theme-Aither์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค โ ํ์ดํฌ๊ทธ๋ํผ๊ฐ ๋์์ธ์ ์ด๋๋ ๋ธ๋ก๊ทธ ํ ๋ง
Astro-Theme-Aither์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค.
์ด๊ฒ์ ํ๋์ ๋ฏฟ์ ์์ ๋ง๋ค์ด์ง ๋ธ๋ก๊ทธ ํ ๋ง์ ๋๋ค: ์ข์ ๊ธ์ ์ข์ ํ์ดํฌ๊ทธ๋ํผ๋ฅผ ๋๋ฆด ์๊ฒฉ์ด ์๋ค. ์ธ๋ฆฌํ ์ ๋ชฉ, ๊น๋ํ ์ฝ๊ธฐ ๋ฆฌ๋ฌ, ๊ทธ๋ฆฌ๊ณ ๋ฐฉํดํ์ง ์๋ ๋ ์ด์์. ์ฌ๊ธฐ ์๋ ๋ชจ๋ ๊ฒ์ ๋จ ํ๋์ ๋ชฉํ๋ฅผ ์ํด ์กด์ฌํฉ๋๋ค โ ๋น์ ์ ๊ธ์ด ์๋ฆ๋ต๊ฒ ๋ณด์ด๊ณ ๋๊ปด์ง๋๋ก ํ๋ ๊ฒ.
๋ ํ๋์ ๋ธ๋ก๊ทธ ํ ๋ง๋ฅผ ๋ง๋ ์ด์
์น์๋ ๋ธ๋ก๊ทธ ํ ๋ง๊ฐ ๋์ณ๋๋, ์ ๋ ํ๋๋ฅผ ๋ง๋ค์๋์ง ๋ฌป๋ ๊ฒ์ ๋น์ฐํฉ๋๋ค. ๋ต์ ์ฐ์ ์์์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ํ ๋ง๋ ์๊ฐ์ ์ํฉํธ์ ์ต์ ํํฉ๋๋ค โ ํฐ ํ์ด๋ก ์ด๋ฏธ์ง, ๋ณต์กํ ๋ ์ด์์, ์ ๋๋ฉ์ด์ ์ ํ. ๋ฐ๋ชจ์์๋ ๋ฉ์ง๊ฒ ๋ณด์ด์ง๋ง, ๋๊ตฐ๊ฐ๊ฐ 2,000๋จ์ด ๊ธ์ ์ฝ์ผ๋ ค ์์ผ๋ฉด ์คํ๋ ค ๋ฐฉํด๊ฐ ๋ฉ๋๋ค.
Astro-Theme-Aither๋ ๋ค๋ฅธ ์ ์ ์์ ์ถ๋ฐํฉ๋๋ค. ์ฝํ ์ธ ๊ฐ ๊ณง ์ ํ์ ๋๋ค. ํ ๋ง์ ์ญํ ์ ๊ทธ ์ฝํ ์ธ ๋ฅผ ์ ์ฑ๊ป ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค: ์ธ์ฌํ ํฐํธ ์กฐํฉ, ๋๋ํ ์ฌ๋ฐฑ, ๊ทธ๋ฆฌ๊ณ ์ฅ๋ฌธ์ ์ฝ๊ธฐ๋ฅผ ํธ์ํ๊ฒ ๋ง๋๋ ์์ง ๋ฆฌ๋ฌ.
์ด ์ฒ ํ์ ๊ธฐ์ ์ ๊ฒฐ์ ์๋ ํ์ฅ๋ฉ๋๋ค. ์ด ํ ๋ง๋ ์ฝ 0.5 KB์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ JavaScript๋ง ์ ์กํฉ๋๋ค โ ํ ๋ง ํ ๊ธ์ ํ์ํ ์ต์ํ๋ง. ๋๋จธ์ง๋ ๋ชจ๋ ์ ์ HTML๊ณผ CSS์ ๋๋ค. ๋ ์ด์์ ์ํํธ๋, ๋ก๋ฉ ์คํผ๋๋, ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํ์ด๋๋ ์ดํ ํ๋ JavaScript ํ๋ ์์ํฌ๋ ์์ต๋๋ค. ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด, ์ฝ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์์ํ๊ธฐ
์ค์ ํ๊ณ ์คํํ๋ ๋ฐ ๋ช ๋ถ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์ ์ฒด ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ์ฅ์ ๋ณต์ โ GitHub ํ
ํ๋ฆฟ ๋ฒํผ์ ์ฌ์ฉํ๊ฑฐ๋
git clone์ผ๋ก ์ง์ ๋ณต์ - ์์กด์ฑ ์ค์น โ
pnpm install์ ์คํํ์ฌ ๋ชจ๋ ํจํค์ง ์ค์น - ์ฌ์ดํธ ์ค์ โ
src/config/site.ts๋ฅผ ํธ์งํ์ฌ ์ฌ์ดํธ ์ ๋ชฉ, ์ค๋ช , ๋ค๋น๊ฒ์ด์ ๋งํฌ ์ค์ - ์ํ ์ฝํ
์ธ ๊ต์ฒด โ
src/content/posts/์ ๊ธ์ ์์ ์ Markdown ํ์ผ๋ก ๊ต์ฒด - ๊ฐ๋ฐ ์์ โ
pnpm dev๋ฅผ ์คํํ์ฌ ํซ ๋ฆฌ๋ก๋ฉ์ด ๋๋ ๋ก์ปฌ ๊ฐ๋ฐ ์๋ฒ ์คํ - ๋ฐฐํฌ โ
gh-pages์ ํธ์ํ๋ฉด ๋ด์ฅ๋ GitHub Pages ์ํฌํ๋ก๊ฐ ์ฌ์ดํธ๋ฅผ ๋ฐํ
ํ๋ก์ ํธ ๊ตฌ์กฐ
์ฝ๋๋ฒ ์ด์ค๋ ์ฆ์ ์ดํดํ ์ ์๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค:
src/โโโ components/ # ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ Astro ์ปดํฌ๋ํธโโโ config/ # ์ฌ์ดํธ ์ค์ โโโ content/ # Markdown ๊ธ๊ณผ ์ฝํ
์ธ โโโ layouts/ # ํ์ด์ง ๋ ์ด์์ (Layout.astro)โโโ pages/ # ๋ผ์ฐํธ ํ์ด์งโโโ styles/ # Tailwind v4 ํ ํฐ์ ์ฌ์ฉํ ๊ธ๋ก๋ฒ CSS๊ฐ ๋๋ ํ ๋ฆฌ์๋ ๋ช ํํ ์ญํ ์ด ์์ต๋๋ค. ์ปดํฌ๋ํธ๋ ์๊ณ ์กฐํฉ ๊ฐ๋ฅํฉ๋๋ค. ๋ ์ด์์์ ๋ฌธ์ ์ ธ์ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ด์ง๋ ๋ผ์ฐํธ๋ฅผ ์ ์ํฉ๋๋ค. ์ฝํ ์ธ ๋ ๊ธ์ ๋ด๊ณ ์์ต๋๋ค. ๋ง๋ฒ ๊ฐ์ ๊ฒ์ ์์ต๋๋ค โ ์ ์ ๋ฆฌ๋ ํ์ผ๋ค๋ฟ์ ๋๋ค.
์ฒซ ๋ฒ์งธ ๊ธ ์์ฑ
src/content/posts/์ ๋ค์ ํ๋ฐํธ๋งคํฐ๋ฅผ ํฌํจํ๋ ์ .md ํ์ผ์ ๋ง๋์ธ์:
---title: ๊ธ ์ ๋ชฉdate: "2026-01-15T16:27:43+08:00"category: Generaldescription: SEO์ ์์
๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ํ ๊ฐ๋จํ ์์ฝtags: [topic, another]---
์ฌ๊ธฐ์ ๋ด์ฉ์ ์์ฑํ์ธ์.title, date, category ํ๋๋ ํ์์
๋๋ค. date๋ ์ด์ ์๊ฐ๋๊น์ง ํฌํจํ ISO 8601 ํ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์: 2026-01-15T16:27:43+08:00. description ํ๋๋ ๋ฉํ ์ค๋ช
ํ๊ทธ์ Open Graph ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ฑ์ฐ๊ธฐ ๋๋ฌธ์ ์์ฑ์ ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค. ํ๊ทธ๋ ์ ํ ์ฌํญ์ด์ง๋ง ๋
์๋ค์ด ๊ด๋ จ ์ฝํ
์ธ ๋ฅผ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฌด์์ด ํฌํจ๋์ด ์๋
์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ก๋์ ์ค๋น ๋ธ๋ก๊น ํ๋ซํผ์ผ๋ก, ํ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ๋ถํ์ํ ๊ฒ์ ์์ต๋๋ค.
์ฝํ ์ธ ๊ธฐ๋ฅ
- RSS ํผ๋ โ
/rss.xml์ ์๋ ์์ฑ, ๋ชจ๋ ํผ๋ ๋ฆฌ๋์ ํธํ - ์ฌ์ดํธ๋งต โ ๊ฒ์ ์์ง ์ธ๋ฑ์ฑ์ ์ํด
@astrojs/sitemap์ผ๋ก ์๋ ์์ฑ - SEO ๋ฉํ ํ๊ทธ โ ๋ชจ๋ ํ์ด์ง์ Open Graph, Twitter ์นด๋, ์ ๊ท URL
- ๋คํฌ ๋ชจ๋ โ
localStorage์ง์์ฑ์ ๊ฐ์ง 3๋จ ํ ๊ธ (๋ผ์ดํธ / ๋คํฌ / ์์คํ ) - ์นดํ ๊ณ ๋ฆฌ ๋ฐ ํ๊ทธ ํ์ด์ง โ ๋ ์๋ค์ด ์ฃผ์ ๋ณ๋ก ํ์ํ ์ ์๋ ์ ๋ฆฌ๋ ์์นด์ด๋ธ
๊ฐ๋ฐ์ ๊ธฐ๋ฅ
- ์ ์ฒด TypeScript โ strict ๋ชจ๋, ์์ ํ ํ์ ์ด ์ง์ ๋ ์ปดํฌ๋ํธ์ ์ ํธ๋ฆฌํฐ
- Content Collections โ ๋น๋ ํ์ ํ๋ฐํธ๋งคํฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํฌํจํ Astro ๋ด์ฅ ํ์ ์์ Markdown ์์คํ
- Tailwind CSS v4 โ ์์, ํฐํธ, ๊ฐ๊ฒฉ์ ์์ฌ์ด ์ปค์คํฐ๋ง์ด์ง์ ์ํ
@theme๋์์ธ ํ ํฐ ์ฌ์ฉ - ๊ฒ์ฆ ์ฒด์ธ โ
pnpm validate๋ฅผ ํตํด ์ฝํ ์ธ ์ปค๋ฒ๋ฆฌ์ง ๊ฒ์ฌ์ agent ํ๋กํ ์ฝ smoke test ์คํ - GitHub Pages โ ๊ธฐ๋ณธ ๋ฐฐํฌ ์ํฌํ๋ก์ฐ ํฌํจ
- Google Analytics โ ์ ํ ์ฌํญ, ๋ฉ์ธ ์ค๋ ๋๋ฅผ ์ฐจ๋จํ์ง ์๋๋ก Partytown Web Worker์์ ๊ฒฉ๋ฆฌ ์คํ
์ฑ๋ฅ
์ด ํ ๋ง๋ ์ต์ํ์ JavaScript๋ก ์ ์ HTML์ ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด๋ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Lighthouse ์ ์ ์ ํญ๋ชฉ 100์ ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค โ Performance, Accessibility, Best Practices, SEO. ๋ถํ์ํ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์ต์ ํํ ๊ฒ๋ ์์ต๋๋ค.
์ปค์คํฐ๋ง์ด์ง
์ด ํ ๋ง๋ ์ฌ๋ฌ๋ถ์ ๊ฒ์ด ๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ปค์คํฐ๋ง์ด์ง์ ๊ฐ๋จํฉ๋๋ค:
- ์์ โ
src/styles/global.css์ CSS ์ปค์คํ ํ๋กํผํฐ๋ฅผ ํธ์งํ์ฌ ์ ์ฒด ํ๋ ํธ ๋ณ๊ฒฝ - ํฐํธ โ Tailwind ํ ๋ง ์ค์ ์์ font-family ๊ฐ ๊ต์ฒด
- ๋ค๋น๊ฒ์ด์
โ
src/config/site.ts์ ๋ค๋น๊ฒ์ด์ ๋งํฌ ๋ฐฐ์ด ์ ๋ฐ์ดํธ - Analytics โ ์ฌ์ดํธ ์ค์ ์์ Google Analytics ์ธก์ ID ์ถ๊ฐ
๋ ๊น์ ๋ณ๊ฒฝ์ ์ํด ์ปดํฌ๋ํธ ์ํคํ ์ฒ๋ ์๋์ ์ผ๋ก ๋จ์ํฉ๋๋ค. ๊น๊ฒ ์ค์ฒฉ๋ ์ถ์ํ๋ ๋ณต์กํ ์ํ ๊ด๋ฆฌ ํจํด์ด ์์ต๋๋ค. ๊ฐ ์ปดํฌ๋ํธ๋ ํ๋์ ์ผ์ ํ๊ณ , props๋ฅผ ์ฝ๊ณ , HTML์ ๋ ๋๋งํฉ๋๋ค.
๋์์ธ ์ฒ ํ์ ๋ํ ์ฐธ๊ณ
์ด ํ ๋ง์ ์๊ฐ์ ๋จ์ํจ์ ์๋์ ์ด์ง๋ง, ์์ง๋์ด๋ง์ ๋จ์ํจ๊ณผ๋ ๋ค๋ฆ ๋๋ค. ๋ด๋ถ์ ์ผ๋ก ์ด ํ ๋ง๋ ๋๋ผ์ธ ์ ๋๋ก ๋ง์ ๊ฒ์ ์ฒ๋ฆฌํฉ๋๋ค: ๋ฐ์ํ ํ์ดํฌ๊ทธ๋ํผ ์ค์ผ์ผ, ๋ผ์ดํธ ๋ฐ ๋คํฌ ๋ชจ๋ ๋ชจ๋์์์ ์ ๊ทผ ๊ฐ๋ฅํ ์์ ๋๋น, ์ฌ๋ฐ๋ฅธ ์๋งจํฑ HTML ๊ตฌ์กฐ, ์ฌ๋ฐ๋ฅธ ์ ๋ชฉ ๊ณ์ธต ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ํด๋ํฐ๋ถํฐ ์ธํธ๋ผ์์ด๋ ๋ชจ๋ํฐ๊น์ง ๋ค์ํ ํ๋ฉด์์์ ์ฝ๊ธฐ ๊ฒฝํ์ ๋ํ ์ธ์ฌํ ์ฃผ์.
์ข์ ๋์์ธ์ ๋ณด์ด์ง ์์ต๋๋ค. ์ด ํ ๋ง์์ ๊ธ์ ์ฝ์ ๋ ํ ๋ง๋ฅผ ์ ํ ์์ํ์ง ์๊ณ ๊ธ ์์ฒด๋ฅผ ์ฆ๊ธฐ๊ฒ ๋๋ค๋ฉด โ ๋ฐ๋ก ๊ทธ๊ฒ์ด ์๋ํ ๋๋ก ๋์์ธ์ด ์๋ํ๋ ๊ฒ์ ๋๋ค.
์ฆ๊ฑฐ์ด ๊ธ์ฐ๊ธฐ ๋์ธ์.
๋๊ธ