Personal blog of KBber โ built with Astro + React, deployed to GitHub Pages.
๐ Live: https://kbber.github.io
- Liquid Glass UI โ
backdrop-filterbased translucent surfaces - Light / Dark / System theme switcher
- Animated hero โ live clock + greeting + IP-based weather
- Draggable magnetic cards on the home page (vanilla pointer events, no GSAP)
- Reading progress bar on article pages
- Photo lightbox for albums with keyboard navigation
- View transitions for smooth page changes
- Markdown content collections โ posts, notes, moments, albums
| Section | Path | Source |
|---|---|---|
| ้ฆ้กต Home | / |
โ |
| ๆ็ซ Posts | /posts |
src/content/posts/*.md |
| ็ธๅ Albums | /albums |
src/content/albums/*.json |
| ้็ฌ Moments | /moments |
src/content/moments/*.md |
| ็ฌ่ฎฐ Notes | /notes |
src/content/notes/*.md |
| ๅ ณไบ About | /about |
โ |
npm install
npm run dev # http://localhost:4321
npm run build # โ dist/
npm run preview # preview the built siteAll identity, theme tokens, nav order, and social links live in site.config.ts โ edit that file to make it yours.
Pushing to main triggers .github/workflows/deploy.yml, which builds the site with Astro and publishes the dist/ folder to GitHub Pages.
- Settings โ Pages โ Source: GitHub Actions
- Workflow file:
.github/workflows/deploy.yml
.
โโโ .github/workflows/deploy.yml # Auto-deploy
โโโ astro.config.mjs # Astro + sitemap config
โโโ site.config.ts # Central config (you!)
โโโ public/
โ โโโ assets/ # Existing images
โ โโโ bricks.svg
โ โโโ favicon.svg
โโโ src/
โโโ components/ # Astro + React components
โโโ content.config.ts # Content collections
โโโ content/ # Markdown / JSON for posts, notes, moments, albums
โโโ layouts/BaseLayout.astro
โโโ pages/ # Routes
โโโ styles/global.css
MIT โ feel free to fork, learn, and remix.