A modern blog built with Next.js, TypeScript, and CSS Modules. Features include dark mode, markdown support with syntax highlighting, and search functionality.
- 🌓 Dark/Light mode
- 📝 Markdown support
- 🎨 Syntax highlighting for code blocks
- 🔍 Search functionality
- 📱 Responsive design
- 🎯 SEO friendly
- 🚀 Fast page loads
- 💅 CSS Modules for styling
- Node.js 18.17 or later
- npm or yarn or pnpm
- Clone the repository:
git clone https://github.com/yourusername/your-blog.git
cd your-blog
- Install dependencies:
npm install
- Add your profile picture:
- Place your profile picture in
public/profile.jpg
- Update content:
- Edit
content/about.md
with your information - Add blog posts in the
posts
directory
Run the development server:
npm run dev
Open http://localhost:3000 in your browser.
Create a production build:
npm run build
Start the production server:
npm start
├── content/
│ └── about.md # About page content
├── posts/ # Blog posts in markdown
├── public/ # Static files
│ └── profile.jpg # Your profile picture
└── src/
├── app/ # Next.js app directory
├── components/ # React components
├── lib/ # Utility functions
└── types/ # TypeScript type definitions
Create a new markdown file in the posts
directory:
---
title: "Your Post Title"
date: "YYYY-MM-DD"
excerpt: "A brief description of your post"
---
# Your Post Title
Your content here...
Your code blocks here...
Edit the color variables in src/app/globals.css
:
:root {
--background: #ffffff;
--foreground: #000000;
--primary: #3b82f6;
/* ... other colors */
}
The project uses the Inter font by default. To change it, edit src/app/layout.tsx
.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.