Personal portfolio and blog by Invincible Bug. Built with Astro, Tailwind CSS, and deployed to GitHub Pages.
- Landing page with avatar, tagline, and links
- Projects page (fetches from GitHub API)
- Blog with Markdoc content
- Dark/light theme toggle
- RSS feed
- SEO optimized (meta tags, Open Graph, Twitter Cards, Schema.org)
- Responsive design
- Swup page transitions
- Astro - Static site generator
- Tailwind CSS - Utility-first CSS
- Markdoc - Content authoring
- Swup - Page transitions
- nanostores - State management
- astro-navbar - Navigation component
# Install dependencies
bun install
# Start dev server
bun run dev
# Build for production
bun run build
# Preview production build
bun run previewsrc/
├── components/ # Astro components
├── content/blog/ # Blog posts (Markdoc)
├── layouts/ # Page layouts
├── lib/ # Utilities and constants
├── pages/ # Route pages
└── styles/ # Global styles
Blog posts are stored as .md files in src/content/blog/. Each post requires:
---
title: "Post Title"
description: "Post description"
pubDate: 2026-08-02
tags: ["tag1", "tag2"]
---This site is automatically deployed to GitHub Pages via GitHub Actions on push to main.
MIT
by Invincible Bug