Next.jsReact作品集博客

nextjs-tailwind-portfolio-template — Next.js 作品集模板

作者 adeel-hashmi

基于 Next.js 14、TypeScript 和 Tailwind CSS 构建的个人作品集模板,包含响应式布局、深色模式、Framer Motion 动画,以及通过静态数据文件配置项目、技能和博客内容。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-14查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

使用 Next.js 14 App Router 与 TypeScript 构建

02

Tailwind CSS 实现响应式布局与深色/浅色模式

03

Framer Motion 提供页面动画与微交互

04

通过 lib/config.ts 和 data 目录下的静态文件配置个人信息、项目、技能与博客

05

README 列出联系表单、访客计数和 Google Analytics 等分析与表单能力

06

提供 Vercel、Netlify 等平台的部署说明

模板详细介绍

这是一个面向个人作品集展示的网站模板,README 说明其使用 Next.js 14 App Router、TypeScript、Tailwind CSS 和 Framer Motion 构建,提供响应式布局、深色/浅色模式自动切换、玻璃拟态效果和微交互。模板内容通过静态数据文件维护:lib/config.ts 管理个人信息与社交链接,data/projects.ts、data/skills.ts、data/blog.ts 分别管理项目、技能和博客文章。README 还提到内置联系表单、访客计数和 Google Analytics 等分析与表单能力,但未提供具体实现细节或依赖清单。项目结构包含 app、components、data、hooks、lib、types、utils 和 public 等目录。部署方面 README 给出 Vercel、Netlify 及其他支持 Next.js 平台的步骤。README 的路线图列出 CMS 集成、评论、搜索、国际化、PWA 和端到端测试等尚未完成的功能,说明这些能力当前不在模板中。

Next.js作品集博客

适合你的项目吗?

适用场景

  • 开发者或设计师搭建个人作品集网站
  • 需要展示项目、技能和博客文章的个人主页
  • 希望基于 Next.js 与 Tailwind CSS 快速起步并自行修改内容的场景

适合人群

  • 熟悉 Next.js 和 TypeScript 的开发者
  • 需要可定制个人作品集模板的前端开发者
  • 希望通过静态数据文件维护作品集内容的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 18+ 及 npm、yarn 或 pnpm

  2. 2

    克隆仓库后运行 npm install(或 yarn/pnpm install)安装依赖

  3. 3

    运行 npm run dev 启动开发服务器,默认访问 http://localhost:3000

  4. 4

    在 lib/config.ts 中修改个人信息与社交链接,在 data/projects.ts、data/skills.ts、data/blog.ts 中维护对应内容

  5. 5

    README 提供 Vercel、Netlify 及其他支持 Next.js 平台的部署步骤

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 79 / 100
技术栈
Next.js · React
网站类型
作品集 · 博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2025-08-08
截图检查日期
2026-10-14

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: 91564f9c5815d1bcb5ec33557f9d6b189907c8e137acdb10a727aff8dd039cab

2026-10-14T10:33:56.427Z

来源文件 / 仓库
<div align="center">

# 🚀 Modern Portfolio Template

**A beautiful, responsive portfolio built with Next.js 14, TypeScript, and Tailwind CSS**

[![Next.js](https://img.shields.io/badge/Next.js-14-black?style=for-the-badge&logo=next.js)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.0-38B2AC?style=for-the-badge&logo=tailwind-css)](https://tailwindcss.com/)
[![Framer Motion](https://img.shields.io/badge/Framer_Motion-11-0055FF?style=for-the-badge&logo=framer)](https://www.framer.com/motion/)
[![Vercel](https://img.shields.io/badge/Deploy-Vercel-black?style=for-the-badge&logo=vercel)](https://vercel.com)

[![MIT License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](https://choosealicense.com/licenses/mit/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com)
[![GitHub Stars](https://img.shields.io/github/stars/adeelhashmi/portfolio-template?style=for-the-badge)](https://github.com/adeelhashmi/portfolio-template/stargazers)

[**🌟 Live Demo**](https://nextjs-tailwind-portfolio-template.vercel.app/) • [**📖 Documentation**](https://github.com/adeelhashmi/portfolio-template/wiki) • [**🐛 Report Bug**](https://github.com/adeelhashmi/portfolio-template/issues) • [**✨ Request Feature**](https://github.com/adeelhashmi/portfolio-template/issues)

![Portfolio Preview](/public/preview.gif)

</div>

---

## ✨ Features

### 🎨 **Modern Design**
- **Responsive Layout** - Perfect on desktop, tablet, and mobile
- **Dark/Light Mode** - Automatic theme switching with system preference
- **Smooth Animations** - Powered by Framer Motion
- **Glass Morphism** - Modern UI with backdrop blur effects
- **Micro-interactions** - Delightful hover states and transitions

### 🚀 **Performance Optimized**
- **Next.js 14** - App Router with Server Components
- **TypeScript** - Full type safety and better DX
- **Tailwind CSS** - Utility-first styling with JIT compilation
- **Image Optimization** - Next.js Image component with lazy loading
- **Bundle Analysis** - Optimized for Core Web Vitals

### 📊 **Analytics & Tracking**
- **Visitor Counter** - Real-time visitor tracking
- **Google Analytics** - Page views and user interactions
- **Performance Metrics** - Lighthouse scores and Web Vitals
- **Contact Form** - Built-in form handling with validation

### 🛠 **Developer Experience**
- **TypeScript** - Strict type checking
- **ESLint & Prettier** - Code formatting and linting
- **Husky** - Pre-commit hooks
- **Component Library** - Reusable UI components
- **Easy Customization** - Single config file for personalization

---

## 🚀 Quick Start

### Prerequisites

- Node.js 18+ and npm/yarn/pnpm
- Git

### Installation

1. **Clone the repository**
   \`\`\`bash
   git clone https://github.com/adeelhashmi/portfolio-template.git
   cd portfolio-template
   \`\`\`

2. **Install dependencies**
   \`\`\`bash
   npm install
   # or
   yarn install
   # or
   pnpm install
   \`\`\`

3. **Start the development server**
   \`\`\`bash
   npm run dev
   # or
   yarn dev
   # or
   pnpm dev
   \`\`\`

4. **Open your browser**
   
   Navigate to [http://localhost:3000](http://localhost:3000) to see your portfolio!

---

## 🎨 Customization

### 1. **Personal Information**

Edit `lib/config.ts` to customize your portfolio:

\`\`\`typescript
export const siteConfig = {
  name: "Your Name",
  initials: "YN",
  title: "Your Job Title",
  description: "Your description...",
  
  personal: {
    email: "[email protected]",
    location: "Your Location",
    // ... more fields
  },
  
  links: {
    github: "https://github.com/yourusername",
    linkedin: "https://linkedin.com/in/yourusername",
    // ... more links
  }
}
\`\`\`

### 2. **Projects**

Add your projects in `data/projects.ts`:

\`\`\`typescript
export const projects: Project[] = [
  {
    id: "1",
    title: "Your Project",
    description: "Project description...",
    tags: ["React", "Next.js", "TypeScript"],
    // ... more fields
  }
]
\`\`\`

### 3. **Skills**

Update your skills in `data/skills.ts`:

\`\`\`typescript
export const skills: Skill[] = [
  {
    name: "React.js",
    icon: "⚛️",
    category: "Frontend",
    proficiency: 95,
    // ... more fields
  }
]
\`\`\`

### 4. **Blog Posts**

Add blog posts in `data/blog.ts` or connect to your CMS:

\`\`\`typescript
export const blogPosts: BlogPost[] = [
  {
    slug: "your-post-slug",
    title: "Your Post Title",
    excerpt: "Post excerpt...",
    // ... more fields
  }
]
\`\`\`

---

## 📁 Project Structure

\`\`\`
portfolio-template/
├── app/                    # Next.js 14 App Router
│   ├── api/               # API routes
│   ├── blog/              # Blog pages
│   ├── projects/          # Project pages
│   └── globals.css        # Global styles
├── components/            # React components
│   ├── ui/               # Reusable UI components
│   ├── sections/         # Page sections
│   └── ...
├── data/                 # Static data files
├── hooks/                # Custom React hooks
├── lib/                  # Utility functions
├── types/                # TypeScript type definitions
├── utils/                # Helper functions
└── public/               # Static assets
\`\`\`

---

## 🚀 Deployment

### Deploy to Vercel (Recommended)

1. **Push to GitHub**
   \`\`\`bash
   git add .
   git commit -m "Initial commit"
   git push origin main
   \`\`\`

2. **Deploy to Vercel**
   - Visit [vercel.com](https://vercel.com)
   - Import your GitHub repository
   - Deploy with default settings

### Deploy to Netlify

1. **Build the project**
   \`\`\`bash
   npm run build
   \`\`\`

2. **Deploy to Netlify**
   - Drag and drop the `out` folder to [netlify.com](https://netlify.com)
   - Or connect your GitHub repository

### Other Platforms

The portfolio works on any platform that supports Next.js:
- **Railway** - `railway up`
- **Render** - Connect GitHub repository
- **DigitalOcean App Platform** - Import from GitHub

---

## 🛠 Available Scripts

| Command | Description |
|---------|-------------|
| `npm run dev` | Start development server |
| `npm run build` | Build for production |
| `npm run start` | Start production server |
| `npm run lint` | Run ESLint |
| `npm run lint:fix` | Fix ESLint errors |
| `npm run type-check` | Run TypeScript compiler |
| `npm run analyze` | Analyze bundle size |

---

## 🎯 Features Roadmap

- [ ] **CMS Integration** - Sanity, Contentful, or Strapi
- [ ] **Blog Comments** - Giscus or Disqus integration
- [ ] **Newsletter** - ConvertKit or Mailchimp integration
- [ ] **Search** - Algolia or local search
- [ ] **i18n** - Multi-language support
- [ ] **PWA** - Progressive Web App features
- [ ] **E2E Testing** - Playwright or Cypress
- [ ] **Storybook** - Component documentation

---

## 🤝 Contributing

Contributions are what make the open source community amazing! Any contributions you make are **greatly appreciated**.

### How to Contribute

1. **Fork the Project**
2. **Create your Feature Branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your Changes** (`git commit -m 'Add some AmazingFeature'`)
4. **Push to the Branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**

### Development Guidelines

- Follow the existing code style
- Add TypeScript types for new features
- Update documentation for significant changes
- Test your changes thoroughly
- Write meaningful commit messages

---

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## 🙏 Acknowledgments

- **Next.js Team** - For the amazing framework
- **Vercel** - For hosting and deployment
- **Tailwind CSS** - For the utility-first CSS framework
- **Framer Motion** - For smooth animations
- **Radix UI** - For accessible components
- **Lucide** - For beautiful icons

---

## 📊 GitHub Stats

![GitHub stars](https://img.shields.io/github/stars/adeelhashmi/portfolio-template?style=social)
![GitHub forks](https://img.shields.io/github/forks/adeelhashmi/portfolio-template?style=social)
![GitHub watchers](https://img.shields.io/github/watchers/adeelhashmi/portfolio-template?style=social)

---

## 💬 Support

- **Documentation**: [Wiki](https://github.com/adeelhashmi/portfolio-template/wiki)
- **Issues**: [GitHub Issues](https://github.com/adeelhashmi/portfolio-template/issues)
- **Discussions**: [GitHub Discussions](https://github.com/adeelhashmi/portfolio-template/discussions)
- **Email**: [[email protected]](mailto:[email protected])

---

<div align="center">

**If this project helped you, please consider giving it a ⭐!**

Made with ❤️ by [Adeel Hashmi](https://github.com/adeelhashmi)

</div>
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。