spotlight Tailwind Templates

Spotlight

A sophisticated portfolio website built with Next.js 13+, TypeScript, and Tailwind CSS, featuring a blog, project showcase, and dynamic content management.

Spotlight : Modern Portfolio Website

A sophisticated portfolio website built with Next.js 13+, TypeScript, and Tailwind CSS, featuring a blog, project showcase, and dynamic content management.

šŸš€ Features

Core Functionality

  • Blog Platform: MDX-based blogging with syntax highlighting
  • Project Showcase: Portfolio section with detailed project descriptions
  • About & Uses Pages: Personal information and tech stack details
  • RSS Feed: Automated feed.xml generation
  • Dark Mode: System-based and manual dark mode switching
  • Responsive Design: Mobile-first approach with adaptive layouts

Technical Features

  • App Router: Leverages Next.js 13+ app directory structure
  • TypeScript: Full type safety throughout the application
  • MDX Integration: Advanced markdown processing for blog posts
  • Image Optimization: Automatic image optimization via Next.js Image component
  • SEO Optimization: Built-in SEO best practices
  • Performance: Optimized asset loading and component rendering

šŸ“ Project Structure

src/
ā”œā”€ā”€ app/                    # Next.js app directory
│   ā”œā”€ā”€ about/             # About page
│   │   └── page.tsx       # About page component
│   ā”œā”€ā”€ articles/          # Blog articles section
│   │   ā”œā”€ā”€ [article]/     # Dynamic article routes
│   │   │   └── page.mdx   # Article content
│   │   └── page.tsx       # Articles list page
│   ā”œā”€ā”€ projects/          # Projects section
│   │   └── page.tsx       # Projects list page
│   ā”œā”€ā”€ feed.xml/          # RSS feed
│   │   └── route.ts       # Feed generator
│   ā”œā”€ā”€ layout.tsx         # Root layout with providers
│   └── page.tsx           # Home page
│
ā”œā”€ā”€ components/            # Reusable components
│   ā”œā”€ā”€ Layout/           # Layout components
│   │   ā”œā”€ā”€ ArticleLayout.tsx  # Blog post layout
│   │   ā”œā”€ā”€ Header.tsx    # Navigation header
│   │   └── Footer.tsx    # Site footer
│   ā”œā”€ā”€ UI/               # UI components
│   │   ā”œā”€ā”€ Button.tsx    # Reusable button
│   │   ā”œā”€ā”€ Card.tsx      # Card component
│   │   └── Container.tsx # Container wrapper
│   └── SocialIcons.tsx   # Social media icons
│
ā”œā”€ā”€ lib/                  # Utility functions
│   ā”œā”€ā”€ articles.ts       # Article management
│   └── formatDate.ts     # Date formatting
│
ā”œā”€ā”€ styles/              # Styling
│   ā”œā”€ā”€ prism.css       # Code highlighting
│   └── tailwind.css    # Tailwind imports
│
└── images/             # Static assets
    ā”œā”€ā”€ logos/         # Logo images
    └── photos/        # Content images

šŸ› ļø Technology Stack

Core

  • Next.js 13+: React framework with app directory
  • TypeScript: Static type checking
  • Tailwind CSS: Utility-first styling
  • MDX: Markdown with JSX support

Additional Libraries

  • @tailwindcss/typography: Blog post styling
  • @tailwindcss/forms: Form element styling
  • clsx: Conditional class names
  • Prism.js: Code syntax highlighting

šŸ“„ Installation

  1. Clone the repository

    git clone <repository-url>
    cd portfolio
    
  2. Install dependencies

    npm install
    # or
    yarn install
    
  3. Create environment variables

    cp .env.example .env.local
    
  4. Start development server

    npm run dev
    # or
    yarn dev
    

šŸ”§ Configuration

Blog Posts

Add new blog posts in src/app/articles/ as MDX files:

---
title: "Article Title"
date: "2024-01-19"
description: "Article description"
---

Content goes here...

Projects

Add new projects in src/app/projects/page.tsx:

const projects = [
  {
    name: "Project Name",
    description: "Project description",
    link: {
      href: "https://project-url.com",
      label: "project.com"
    }
  }
  // ...
]

Styling

Customize Tailwind configuration in tailwind.config.ts:

module.exports = {
  theme: {
    extend: {
      // Custom configurations
    }
  }
}

šŸš€ Deployment

The project is optimized for deployment on Vercel:

  1. Push to GitHub
  2. Import to Vercel
  3. Configure environment variables
  4. Deploy

šŸ“ Content Management

Adding Blog Posts

  1. Create new MDX file in src/app/articles/
  2. Add frontmatter with title, date, description
  3. Write content using markdown and MDX components
  4. Images go in the article's directory

Managing Projects

  1. Update projects/page.tsx
  2. Add project images to src/images/
  3. Configure project cards with description and links

šŸ¤ Contributing

  1. Fork the repository
  2. Create feature branch
  3. Commit changes
  4. Push to branch
  5. Open pull request

šŸ“„ License

This project is licensed under the MIT License.

šŸ“¬ Contact

For questions or suggestions, please open an issue or reach out through the contact form on the website.

Top categories

Loading Svelte Themes