Bỏ qua tới nội dung
Dat.Ng
Quay lại

Dựng blog cá nhân với Astro và Cloudflare trong một buổi chiều

Sửa trang này

Bài này ghi lại các bước mình đã làm để dựng blog này. Mục tiêu: không server, không database, viết bài bằng Markdown.

Stack

Thành phầnLựa chọn
FrameworkAstro
ThemeAstroPaper
Tìm kiếmPagefind (chạy hoàn toàn phía client)
HostingCloudflare Workers (static assets)
Nội dungMarkdown trong Git

Bước 1: Khởi tạo project

git clone --depth 1 https://github.com/satnaing/astro-paper datng.me
cd datng.me
rm -rf .git
npm install

Bước 2: Cấu hình

Mọi thứ về site nằm trong astro-paper.config.ts: tên, mô tả, ngôn ngữ, múi giờ, mạng xã hội.

site: {
  url: "https://datng.me/",
  title: "Đạt Ng",
  lang: "vi",
  timezone: "Asia/Ho_Chi_Minh",
}

Giao diện tiếng Việt thì thêm file src/i18n/lang/vi.ts và đổi locales trong astro.config.ts.

Bước 3: Chạy thử

npm run dev

Mở http://localhost:4321 để xem.

Bước 4: Deploy lên Cloudflare

Tạo file wrangler.jsonc:

{
  "name": "datng-me",
  "compatibility_date": "2026-11-01",
  "assets": { "directory": "./dist" },
}

Rồi:

npm run build
npx wrangler deploy

Sau đó vào Cloudflare Dashboard → Workers → Settings → Domains & Routes → thêm datng.me. Vì tên miền đã nằm trên Cloudflare DNS nên chỉ vài phút là xong.

Bước 5: Tự động build khi push

Kết nối repo GitHub với Workers Builds trong Dashboard. Từ đó mỗi lần git push là Cloudflare tự build và deploy bản mới.

Việc còn lại

  • Thêm hệ thống bình luận
  • Tối ưu ảnh với Cloudflare R2 + Image Transformations
  • Viết thêm bài!


Bài trước
Xin chào! Blog datng.me chính thức lên sóng

📬 Nhận bài mới qua email

Khi có bài mới mình sẽ gửi một email. Không spam, huỷ lúc nào cũng được.

Bình luận

Đăng nhập GitHub để bình luận. Bình luận được lưu tại GitHub Discussions của blog.