Kenapa Astro
Astro secara default ship zero JavaScript. Kontenmu di-render ke HTML biasa di server, dan island interaktif hanya di-hydrate di tempat yang kamu minta. Untuk situs personal yang padat konten — blog, research, galeri — itu trade-off yang pas.
Jalur 45 menit
npm create astro@latest— pilih template blog, TypeScript strict.- Definisikan content collection di
src/content.config.tsdengan zod schema. - Tulis post
.mdxpertamamu — frontmatter divalidasi saat build. - Tambahkan halaman
[slug].astrodengangetStaticPaths()+render(). - Deploy:
astro buildmenghasilkandist/yang sepenuhnya statis, bisa di-host di mana saja.
Islands: bagian yang sering dilewatkan
<Hero client:load /> <!-- hydrate langsung -->
<Chart client:visible /> <!-- hydrate saat ke-scroll -->
<Comments client:idle /> <!-- hydrate saat browser idle -->
Pakai client:visible untuk apa pun di bawah fold. Skor Lighthouse-mu akan berterima kasih.
Selanjutnya apa
Tambahkan i18n dengan route dinamis [locale] — itu pelajaran terpisah.