Skip to content

Steellgold/website

Repository files navigation

OG GitHub

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.

πŸ“š Tech Stack

  • 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

πŸ”§ API Integrations and Environment Variables

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>

Integration Description

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

πŸš€ Running Locally

  1. Clone the repository:
git clone https://github.com/Steellgold/website.git
cd website
  1. Install dependencies:
pnpm install
  1. Configure the environment variables in .env.local:
NEXT_PUBLIC_SIMPLIST_API_KEY=your_simplist_api_key_here
  1. Start the development server:
pnpm dev
  1. Access the site locally at http://localhost:3000.

πŸ—οΈ Build and Deploy

To build the project for production:

pnpm build

To start the production server:

pnpm start

πŸ“ Project Structure

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

🎨 Features

  • 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

πŸ“ License

This project is open-source and available under the MIT License. Feel free to use this code as inspiration for your own projects!

About

πŸ”€ Personal website

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •