This repository contains my personal portfolio built with Astro, TypeScript, and Tailwind CSS. The project features a combination of static and server-side rendered pages, with dynamic content powered by Vercel. Syntax-highlighted code blocks are rendered using a customized Code component from {astro:components}, utilizing Shiki for a clean and accurate display. The site maintains a strong focus on performance and design, achieving high Lighthouse scores on both mobile and desktop.
- Hybrid Static & Dynamic Rendering: While the homepage is statically generated, other sections are server-side rendered, fetching live data from APIs.
- Syntax Highlighting: Powered by Shiki, ensuring accurate and aesthetically pleasing code blocks.
- Fuzzy Search & Comment Section: Enhanced functionality with JavaScript, providing a better user experience.
- Responsive Design: Optimized for both mobile and desktop, maintaining high performance metrics.
- Upgrade to Tailwind 4 when it's released
- Upgrade to Astro 5 when it's released
- Fix the page layout and content shifts
- Add light/dark mode and toggle
- Deal with the shiki bug (it's not on my end) or change approach
- Integrate Obsidian
- Publish more blog posts
- Maybe make project page more like a file tree
- Maybe translate the site to other languages
Follow these instructions to set up the project locally.
Ensure you have the following installed:
- Bun (v1.1.20 or later)
-
Clone the repository
git clone https://github.com/Souvlaki42/my-website.git
-
Navigate to the project directory
cd my-website
-
Install dependencies
bun install
-
Start the development server
bun run dev
-
Open the project in your browser
Navigate to
http://localhost:4321
to view the portfolio.
This project is licensed under the MIT License.
- Email: [email protected]
- GitHub: Souvlaki42
- Twitter/X: Souvlaki42
- Bluesky: Souvlaki42