mirror of
https://github.com/avinal/avinal.github.io.git
synced 2026-07-03 23:30:09 +05:30
a80b4d8e4fdc2ba950253778dd4b7272bfae4793
Bumps [esbuild](https://github.com/evanw/esbuild) to 0.28.1 and updates ancestor dependency [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro). These dependencies need to be updated together. Updates `esbuild` from 0.27.3 to 0.28.1 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.27.3...v0.28.1) Updates `astro` from 6.3.5 to 7.0.0 - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/astro@7.0.0/packages/astro) --- updated-dependencies: - dependency-name: esbuild dependency-version: 0.28.1 dependency-type: indirect - dependency-name: astro dependency-version: 7.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
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, ListenBrainz music 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) |
/events/ |
Conferences and events timeline |
/meeting/ |
Book a meeting via Cal.com embed |
/setup/ |
Hardware and software setup |
/rss.xml |
RSS feed |
Prerequisites
- Node.js 22+
- npm
Getting Started
git clone https://github.com/avinal/avinal.github.io.git
cd avinal.github.io
make install
No environment variables are required. All external data is fetched from public APIs:
- GitHub — contributions graph and user info (public API)
- WakaTime — coding stats via public share URL
- ListenBrainz — music listening activity (public API, username in
src/config/theme.ts) - Cal.com — meeting booking (embedded via CDN)
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, events)
├── 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.
Description
Languages
Astro
77.7%
TypeScript
10.3%
HTML
6.5%
CSS
4.7%
JavaScript
0.4%
Other
0.4%