A modern, fast, and SEO-optimized personal portfolio built with Astro and hosted at www.chaikeshab.com.np
- ⚡ Lightning Fast: Minimal loading times with Astro's static generation
- 🎨 Dark/Light Mode: Toggle between themes with persistent preference
- 📱 Responsive Design: Built with Tailwind CSS for all screen sizes
- 🔍 SEO Optimized: First-class SEO with meta tags and structured data
- 🚀 Client-Side Routing: Smooth navigation with Astro's client router
- 📝 Dynamic Content: Project pages generated from Markdown files
- 🔄 Auto-Updates: Automated resume generation and GitHub README fetching
- Framework: Astro ^5.11.0
- Styling: Tailwind CSS
- Routing: Astro Client Router
- Content: Markdown with dynamic routing
- Resume: Typst compilation
- Deployment: Static hosting
src/
├── content/
│ └── otherProjects/ # Auto-generated from GitHub READMEs
├── pages/
├── components/
└── layouts/
scripts/
├── fetch-readmes.js # GitHub README fetcher
└── ...
resume/
└── keshabChaiResume.typ # Typst resume source
public/
└── keshabChaiResume.pdf # Auto-generated resume
- Node.js (18+)
- pnpm
- Typst (for resume generation)
# Clone the repository
git clone https://github.com/ChaiKeshab/portfolio
cd portfolio
# Install dependencies
pnpm install
# Start development server with resume build
pnpm run dev
# Or start with fresh GitHub data
pnpm run dev:fetch
Script | Description |
---|---|
pnpm run dev |
Start dev server with resume build |
pnpm run dev:fetch |
Fetch GitHub READMEs + start dev server |
pnpm run build |
Build for production (auto-fetches READMEs) |
pnpm run build:resume |
Compile Typst resume to PDF |
pnpm run preview |
Preview production build |
The portfolio automatically compiles your Typst resume file into a PDF:
- Source:
resume/keshabChaiResume.typ
- Output:
public/keshabChaiResume.pdf
- Runs before dev server and builds
Automatically pulls README files from specified repositories and converts them into portfolio project pages:
- Fetches from configured GitHub repos
- Injects Astro frontmatter with metadata
- Creates dynamic project pages
- Updates on every build
- Performance First: Optimized for Core Web Vitals
- SEO Ready: Meta tags, OpenGraph, and structured data
- Accessible: WCAG compliant with proper semantics
- Modern Stack: Latest Astro features and best practices
- Automated Workflow: Minimal maintenance content updates
The site is statically generated and can be deployed to any static hosting provider:
pnpm run build
# Deploy the 'dist' folder
Currently hosted at: www.chaikeshab.com.np
This project is open source and available under the MIT License.
Built with Astro