This is my personal website, built with Astro v7, TypeScript, Tailwind CSS v4, and MDX. It serves as a portfolio and a blog where I share my thoughts on programming, technology, and other topics of interest.
- π² Custom Island Design System: Nature-inspired with minimalism, and modern interface aesthetics
- π Multilingual (i18n): Native bilingual support for Vietnamese (
vi, default) and English (en). - π Dual-Theme Support: Light, Dark, and System Auto.
- β‘ High Performance & SEO: Astro v7 static build, canonical URLs, Open Graph metadata, JSON-LD structured data, XML Sitemap, and RSS feeds.
- π Type-Safe Content: Markdown & MDX blog posts powered by Astro Content Collections.
- Framework: Astro v7
- Language: TypeScript
- Styling: Tailwind CSS v4
- Icons: Lucide Icons
- Content: MDX & Markdown with custom Remark/Rehype plugins
- Package Manager: Bun
- Deployment: Cloudflare Workers / Pages
βββ content/ # Blog posts and content assets
βββ plugins/ # Custom remark & rehype plugins
βββ public/ # Static assets & favicons
βββ src/
β βββ assets/ # Source media & static images
β βββ components/ # UI components (page, home, posts, projects, about)
β βββ content/ # Content collection configurations
β βββ i18n/ # Dictionaries and translation helpers
β βββ layouts/ # Base HTML layout (Base.astro)
β βββ pages/ # Astro route pages
β βββ scripts/ # Client-side scripts (theme loader, etc.)
β βββ styles/ # Theme tokens and global CSS (global.css)
β βββ consts.ts # Site constants, profile info, and navigation
β βββ content.config.ts # Content collection schema definitions
βββ AGENTS.md # Developer & AI Agent guidance
βββ DESIGN.md # Design system specifications & theme tokens
βββ astro.config.ts # Astro configuration
βββ package.json # Dependencies and scripts
βββ wrangler.jsonc # Cloudflare deployment config
-
Clone the repository:
git clone https://github.com/tozydev/raon.git cd raon -
Install dependencies:
bun install
-
Start local dev server:
bun run dev
The site will be available at
http://localhost:4321.
| Command | Action |
|---|---|
bun run dev |
Starts local development server at http://localhost:4321 |
bun run build |
Runs Astro check (typecheck) and builds production bundle to ./dist/ |
bun run preview |
Previews the production build locally |
bun run fmt |
Formats codebase using Prettier |
bun run fmt:check |
Validates code formatting with Prettier without writing |
- DESIGN.md: Detailed documentation of theme color tokens, typography system, component tokens, and layout guidelines.
- AGENTS.md: Developer & AI Agent conventions, architecture guidance, and repository rules.
This repository is licensed under two licenses:
- The source code is licensed under the Apache License 2.0. See the LICENSE file for details.
- The blog content is licensed under the Creative Commons Attribution Share Alike 4.0 International License. See the content/LICENSE file for details.
I would like to thank the following: projects, libraries, tools, and resources that made this project possible:
- Astro β For powering the static site generation.
- Tailwind CSS β For the utility-first CSS framework styling this site.
- Lucide β For the icon used in this site.
- MDX β For the MDX support.
- Cloudflare Workers β For hosting the static site.
- Quicksand, BeVietnamePro, and JetBrains Mono β For the fonts used on the site.
And all the libraries and tools that made this project possible!