1
0
mirror of https://github.com/avinal/avinal.github.io.git synced 2026-07-03 23:30:09 +05:30

avinal.space

Personal website and blog built with Astro. Minimal, fast, and almost entirely HTML & CSS with zero-JS by default.

Live: avinal.space

Design Inspiration

  • jay.fish — homepage layout, activity graph, bento grid
  • usememos.com — clean typography, color palette, overall theme

Pages

Route Description
/ Homepage with hero card, GitHub/WakaTime activity graph, Game of Life widget, recent posts, and pinned repos
/posts/ Blog index with category filters and featured images
/posts/<category>/ Category-filtered post listings
/posts/<category>/<slug>/ Individual blog posts
/resume/ Resume page (data driven from src/data/resume.json)
/meeting/ Book a meeting via Cal.com embed
/setup/ Hardware and software setup
/rss.xml RSS feed

Prerequisites

Getting Started

git clone https://github.com/avinal/avinal.github.io.git
cd avinal.github.io
make install

Copy the example env file and add your keys:

cp .env.example .env
Variable Required Description
WAKATIME_API_KEY No Enables WakaTime coding stats on the homepage activity graph. Get yours at wakatime.com/settings/api-key

Development

make dev        # Start dev server with hot reload
make build      # Build for production
make preview    # Preview production build locally
make check      # Run Astro type checking
make clean      # Remove build artifacts
make nuke       # Full clean (includes node_modules)
make fresh      # Clean install from scratch

Project Structure

src/
├── components/     # Reusable Astro components
├── config/         # Theme tokens and site config
├── content/posts/  # Blog posts (Markdown)
├── data/           # JSON data (resume, repos)
├── layouts/        # Page layouts
├── lib/            # Utilities and rehype plugins
├── pages/          # Route pages
└── styles/         # Global CSS
public/             # Static assets (images, favicons)

Configuration

  • Theme & colors: src/config/theme.ts — single file for all design tokens, easily swap the entire color palette
  • Repos: src/data/repos.json — pinned repositories shown on the homepage
  • Resume: src/data/resume.json — JSON Resume format, drives the /resume/ page

Deployment

The site is deployed via Netlify. Any push to main triggers a build automatically. See netlify.toml for the build config.

License

See LICENSE for details.

S
Description
Languages
Astro 77.7%
TypeScript 10.3%
HTML 6.5%
CSS 4.7%
JavaScript 0.4%
Other 0.4%