
This repository contains the source code for my personal portfolio website, developed with Next.js 15 and TypeScript. This site showcases my development skills through interactive components, responsive design, and modern web technologies.
- Framework: Next.js 15 - React framework with App Router and Turbopack
- Language: TypeScript - for static typing and better maintainability
- Styling: Tailwind CSS v4 - utility CSS framework with custom configurations
- UI Components: shadcn/ui - accessible and customizable interface elements
- Icons: Lucide React - beautiful & consistent icon toolkit
- Markdown: React Markdown - for blog content rendering
- State Management: React Context API for lightweight state management
- APIs: Integration with Simplist for blog content management
The project uses the Simplist API to fetch and display blog posts. Here's the required environment variable:
NEXT_PUBLIC_SIMPLIST_API_KEY=<Your Simplist API Key>
- Simplist: A blogging service that provides an API to retrieve blog articles. The website fetches blog posts from Simplist and displays them with proper markdown rendering. For more information, visit Simplist.
- Clone the repository:
git clone https://github.com/Steellgold/website.git
cd website
- Install dependencies:
pnpm install
- Configure the environment variables in
.env.local
:
NEXT_PUBLIC_SIMPLIST_API_KEY=your_simplist_api_key_here
- Start the development server:
pnpm dev
- Access the site locally at
http://localhost:3000
.
To build the project for production:
pnpm build
To start the production server:
pnpm start
website/
βββ app/ # Next.js App Router pages
β βββ blog/[slug]/ # Dynamic blog post pages
β βββ globals.css # Global styles with Tailwind
β βββ layout.tsx # Root layout component
β βββ page.tsx # Home page
βββ components/ # Reusable React components
β βββ sections/ # Page sections (header, skills, etc.)
β βββ markdown/ # Markdown rendering components
βββ config/ # Configuration files
β βββ projects.ts # Projects data
β βββ blog.ts # Blog posts metadata
βββ contexts/ # React context providers
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions and configurations
βββ public/ # Static assets
βββ type/ # TypeScript type definitions
- Responsive Design: Mobile-first approach with Tailwind CSS
- Blog Integration: Dynamic blog posts with markdown support
- SEO Optimized: Meta tags, Open Graph, and Twitter Cards
- Performance: Optimized images, fonts, and bundle size
- Accessibility: Semantic HTML and ARIA attributes
- Dark Theme: Beautiful dark theme with custom CSS variables
This project is open-source and available under the MIT License. Feel free to use this code as inspiration for your own projects!