使用 Next.js 14 App Router 与 TypeScript 构建
nextjs-tailwind-portfolio-template — Next.js 作品集模板
作者 adeel-hashmi
基于 Next.js 14、TypeScript 和 Tailwind CSS 构建的个人作品集模板,包含响应式布局、深色模式、Framer Motion 动画,以及通过静态数据文件配置项目、技能和博客内容。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
Tailwind CSS 实现响应式布局与深色/浅色模式
Framer Motion 提供页面动画与微交互
通过 lib/config.ts 和 data 目录下的静态文件配置个人信息、项目、技能与博客
README 列出联系表单、访客计数和 Google Analytics 等分析与表单能力
提供 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 与 Tailwind CSS 快速起步并自行修改内容的场景
适合人群
- 熟悉 Next.js 和 TypeScript 的开发者
- 需要可定制个人作品集模板的前端开发者
- 希望通过静态数据文件维护作品集内容的使用者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 18+ 及 npm、yarn 或 pnpm
- 2
克隆仓库后运行 npm install(或 yarn/pnpm install)安装依赖
- 3
运行 npm run dev 启动开发服务器,默认访问 http://localhost:3000
- 4
在 lib/config.ts 中修改个人信息与社交链接,在 data/projects.ts、data/skills.ts、data/blog.ts 中维护对应内容
- 5
README 提供 Vercel、Netlify 及其他支持 Next.js 平台的部署步骤
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/adeel-hashmi/nextjs-tailwind-portfolio-template/blob/main/LICENSEhttps://github.com/adeel-hashmi/nextjs-tailwind-portfolio-template/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
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**
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://www.framer.com/motion/)
[](https://vercel.com)
[](https://choosealicense.com/licenses/mit/)
[](http://makeapullrequest.com)
[](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)

</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



---
## 💬 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>
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

react-resume-template
A personal resume website template built with React.js, Typescript, Next.js, and styled with Tailwind css
Next.js · 作品集

Nextjs-tailwindcss-blog-template
使用 Tailwind CSS 的 Next.js 博客。当前分支通过 Velite 处理 Markdown,早期 Contentlayer 实现保留在单独的历史分支中。
Next.js · 博客

Next-js-Blog-Boilerplate
Next-js-Blog-Boilerplate 是一套面向个人与技术博客的启动代码,基于 Next.js 12 与 Tailwind CSS 3 构建,同时集成了 TypeScript、ESLint、Prettier …
Next.js · 博客

nextjs-blog-theme
nextjs-blog-theme 是 Netlify 团队维护的一个博客启动模板,基于 Next.js 15(Pages Router)和 Tailwind CSS 4.x 构建,设计由 Bejamas 机构完成。
Next.js · 博客

blog
🚀 My personal blog made with Tailwind CSS and NextJS. Template from Timlrx. Feel free to fork, follow and use…
Next.js · 博客
