Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Astro-powered personal website template with bilingual EN/ID pages, MDX notes, guestbook, and contact form on Cloudflare Pages.
rimzzlabs.com is an open-source personal website template by Rizki Citra, built with Astro 7 static output and React 19 islands, that delivers a bilingual English/Indonesian site with a D1-backed guestbook, OAuth sign-in, and a contact form — all on Cloudflare Pages without an SSR adapter.
rimzzlabs.com is the personal site of Rizki Citra, released as a template for developers. It takes MDX blog posts in English and Indonesian content collections and produces a static site where dynamic features like guestbook comments, authentication, locale negotiation, and the contact form run as Cloudflare Pages Functions. The project is written in TypeScript and uses pnpm as the package manager, with Node 22.12 specified in .nvmrc.
locale cookie or the Accept-Language header, while all other pages are prerendered per locale.prefers-reduced-motion and a stored preference, a draggable dock navigation, an image sitemap, and SEO/OG tags.src/content/notes/en and src/content/notes/id, and the template generates per-locale URLs with syntax highlighting, a table of contents, and reading progress.The site is built with pnpm build, which runs any pending D1 migrations before building the static output. For local development, pnpm dev starts the Astro dev server for the static pages only; to exercise the guestbook, auth, and contact endpoints locally, pnpm guestbook:preview builds the site and serves dist/ through wrangler pages dev with a local D1 database from the migrations/ folder.
No. The site is fully static at build time — Astro prerenders every page per locale. Dynamic features are handled by Cloudflare Pages Functions, which run on Cloudflare's edge network only when requested, so there is no SSR adapter or always-on Node server.
Use pnpm guestbook:preview instead of pnpm dev. This command builds the site and serves the dist/ folder through wrangler pages dev, applying local D1 migrations from migrations/ so the full API works on your machine.
Runtime secrets such as the Turnstile secret, OAuth client IDs/secrets, Resend API key, session secret, and notification emails are set directly on the Cloudflare Pages project, not in .env. The .env file only holds build-time values like the public Turnstile site key and optional Cloudflare credentials for baking guestbook comments into static HTML.
No. The repository explicitly states there is no test suite — verify changes with pnpm check for TypeScript/Astro types and pnpm build when touching images or build configuration.
