Skip to content

Souvlaki42/my-website

Repository files navigation

My Portfolio

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.

Features

  • 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.

Todo

  • 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

Getting Started

Follow these instructions to set up the project locally.

Prerequisites

Ensure you have the following installed:

  • Bun (v1.1.20 or later)

Installation

  1. Clone the repository

    git clone https://github.com/Souvlaki42/my-website.git
  2. Navigate to the project directory

    cd my-website
  3. Install dependencies

    bun install
  4. Start the development server

    bun run dev
  5. Open the project in your browser

    Navigate to http://localhost:4321 to view the portfolio.

License

This project is licensed under the MIT License.

Contact