Hello, world — blog ini dibangun dengan Astro
Post pertama. Kenapa aku pindah ke Astro + Cloudflare Pages dan apa saja yang bisa kamu harapkan dari blog ini.
On this page4 sections
Halo dan selamat datang di blog. Ini post pertama — sebagian besar tujuannya cuma mastiin semuanya jalan (dark mode, tags, syntax highlighting, RSS, comments), tapi karena aku di sini, sekalian aja aku jelasin alasan pindah.
Kenapa Astro?
Sebelumnya pakai stack yang berat: database, CMS, server runtime. Untuk kebutuhan tulis-menulis dengan traffic di bawah satu juta visit per bulan, itu overkill. Astro menawarkan beberapa hal yang cocok banget buat “engineer yang sebenarnya cuma pengin nulis”:
- Static by default — output-nya HTML. Tidak ada server yang perlu di-patch.
- Zero JS by default — hanya hydrate komponen yang benar-benar butuh interaktif.
- Content collections dengan Zod — frontmatter di-validate saat build, bukan pas user buka page.
Contoh code block
Biar syntax highlighting-nya kelihatan jalan:
# deploy via Wrangler (opsional, Cloudflare Pages juga auto-deploy dari Git)npx wrangler pages deploy dist --project-name=my-blogexport async function getPublishedPosts() { const posts = await getCollection("blog", ({ data }) => import.meta.env.PROD ? !data.draft : true, ); return posts.sort( (a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), );}Komponen MDX yang bisa dipakai
Selain markdown standar, post ini juga punya beberapa komponen siap pakai:
Quick facts
- Framework
- Astro 5 + MDX
- Hosting
- Cloudflare Pages (free tier)
- Comments
- Giscus (GitHub Discussions)
- Search
- Fuse.js, fully client-side
✔ Created src/content/blog/judul-post-baru.md ✔ Filled frontmatter (date, slug, tags=[]) → Edit and you're good to go.
Next up
Beberapa post yang sudah masuk antrian:
- Terraform modules yang benar-benar reusable — pelajaran dari 3 tahun bikin yang salah.
- Observability stack yang murah: Grafana + Loki + Tempo di VPS $5/bulan.
- Cost optimization AWS: kapan pakai Savings Plans, kapan pakai Spot.
Kalau tertarik, subscribe lewat RSS atau follow lewat social links di footer.