使用 YAML 文件(site、personal、home、about)配置站点信息与页面内容,无需改动代码
portfolio-next — Next.js 作品集模板
作者 mandharet
基于 Next.js 15、TypeScript 与 Tailwind CSS 4 的开源个人作品集模板,通过 YAML 配置个人信息,用 MDX 撰写博客、项目与经历内容。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
博客、项目、经历均以 MDX 撰写,支持 frontmatter 字段与 React 组件
集成 Giscus 评论,基于 GitHub Discussions,需按 README 步骤配置仓库与分类 ID
支持 Mermaid 图表与 Markdown 表格,代码块带语法高亮和复制按钮
包含深色/浅色模式切换、移动端导航,以及 sitemap、metadata、结构化数据等 SEO 配置
技术栈为 Next.js 15、TypeScript、Tailwind CSS 4、MDX、shadcn/ui 等,采用静态生成
模板详细介绍
这是一个面向开发者、设计师与创作者的开源个人作品集模板。README 说明其使用 Next.js 15、TypeScript、Tailwind CSS 4 构建,并采用 YAML 配置文件管理站点信息与页面内容:site.yaml 存放姓名、标题、域名、邮箱、描述与关键词,personal.yaml 存放社交链接与简历,home.yaml 与 about.yaml 分别对应首页和关于页内容。博客、项目与经历内容以 .mdx 文件放在 src/content/ 下,通过 frontmatter 定义标题、日期、标签、技术栈、链接等字段,内容会自动出现在站点中。模板包含首页 hero 区、关于页、博客、项目展示卡片、经历时间线,并支持 Giscus 评论、Mermaid 图表、Markdown 表格、代码高亮与复制按钮、深色/浅色模式切换和移动端导航。README 还提到 SEO 相关的 sitemap、metadata 与结构化数据,以及静态生成。部署方面给出 Vercel 与 Netlify 两种方式,Netlify 的构建命令为 bun run build、发布目录为 out。README 未说明具体性能指标、浏览器兼容范围或无障碍支持情况。
适合你的项目吗?
适用场景
- 开发者搭建包含博客与项目展示的个人作品集网站
- 设计师或创作者用 MDX 文章和项目卡片呈现作品与经历
- 需要 Giscus 评论、Mermaid 架构图与代码高亮的技术博客
- 希望用 YAML 集中管理站点文案、社交链接与 SEO 信息的个人站点
适合人群
- 熟悉或愿意使用 Next.js 与 TypeScript 的开发者
- 需要博客、项目、经历三类内容结构的个人站点作者
- 倾向用 Markdown/MDX 写作并希望内容自动生成页面的用户
- 计划部署到 Vercel 或 Netlify 的个人项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
克隆仓库后使用 bun install 安装依赖(README 以 bun 为例)
- 2
编辑 src/config/site.yaml、personal.yaml、home.yaml、about.yaml 填入个人信息
- 3
更新 YAML 后还需同步修改 src/app/opengraph-image.tsx(第 4、27、35、43 行)及可选的 public/og-image.svg
- 4
在 src/content/ 下按 README 的 frontmatter 格式新建 blogs、projects、experiences 的 .mdx 文件
- 5
使用 Giscus 评论需创建公开仓库、启用 Discussions、安装 Giscus 应用,并在 src/components/Giscus.tsx 填入 data-repo、data-repo-id 及两个分类的 data-category-id
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 使用 Giscus 评论功能需要先创建一个公开的 GitHub 仓库用于存放 Discussions。
- 需要在仓库设置中启用 Discussions 功能,评论才能正常工作。
- 需要安装 Giscus 应用(GitHub App)才能接入评论系统。
- 需要前往 giscus.app 进行配置并获取仓库与分类的标识值。
- 必须手动修改 src/components/Giscus.tsx 并填入自己的仓库与分类 ID 配置值。
- README 指向作者个人博客上的详细配置指南作为外部参考链接。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
1. Create a public GitHub repository for discussions
README 原文
2. Enable Discussions in repo settings
README 原文
3. Install [Giscus app](https://github.com/apps/giscus)
README 原文
4. Go to [giscus.app](https://giscus.app) and configure:
README 原文
5. Update `src/components/Giscus.tsx` with your values:
README 原文
https://github.com/mandharet/portfolio-next/blob/DEVELOPMENT/LICENSEhttps://github.com/mandharet/portfolio-next/blob/DEVELOPMENT/README.md📖 **[Read the detailed setup guide](https://tejas.mandhare.com/blog/adding-giscus-comments-portfolio)** - Complete walkthrough with code examples, troubleshooting, and best practices.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料一般 · 72 / 100
- 技术栈
- Next.js · React
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-02-08
- 截图检查日期
- 2026-10-14
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15
查看当时使用的来源资料
SHA-256: 7dbec0f34f24a3afdde199c166ce610f7749a5480c65275b1768676977faa284
2026-10-14T15:56:23.703Z
来源文件 / 仓库# 🚀 Portfolio - Next.js > **Open Source Portfolio Template** - Clone it, customize it, make it yours! A modern, SEO-optimized portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. Perfect for developers, designers, and creators who want a professional online presence.     --- ## ✨ Why This Template? - 🎨 **Beautiful Design** - Modern UI with dark/light mode - ⚙️ **YAML Configuration** - Update your info without touching code - 📝 **MDX Blog** - Write posts in Markdown with React components - 💬 **Giscus Comments** - GitHub Discussions powered comments - 📊 **Mermaid Diagrams** - Visualize architecture and workflows - 📋 **Markdown Tables** - Display data in responsive tables - 🎨 **Syntax Highlighting** - Beautiful code blocks with copy button - 🔍 **SEO Ready** - Sitemap, metadata, structured data included - 📱 **Mobile First** - Fully responsive on all devices - 🚀 **Fast** - Static generation, optimized performance - 🎯 **Type Safe** - Full TypeScript support --- ## 🎉 Get Started in 3 Steps ### 1. Clone & Install ```bash git clone https://github.com/yourusername/portfolio-next.git cd portfolio-next bun install ``` ### 2. Update Your Info Edit `src/config/site.yaml`: ```yaml name: "Your Name" title: "Your Title" domain: "https://yoursite.com" email: "[email protected]" description: "Your description" keywords: ["Your", "Keywords"] ``` Edit `src/config/personal.yaml`, `src/config/home.yaml`, and `src/config/about.yaml` with your information. **Note:** After updating YAML files, also update: - `src/app/opengraph-image.tsx` (lines 4, 27, 35, 43) - for social media previews - `public/og-image.svg` (optional fallback) ### 3. Run & Deploy ```bash bun run dev # Preview locally bun run build # Build for production ``` Deploy to [Vercel](https://vercel.com) or [Netlify](https://netlify.com) in one click! --- ## 📝 Easy Customization ### YAML Configuration (No Code!) All your information is in simple YAML files: - `src/config/site.yaml` - Name, title, SEO settings - `src/config/personal.yaml` - Social links, resume - `src/config/home.yaml` - Homepage content - `src/config/about.yaml` - About page, skills ### Add Content in Markdown Create `.mdx` files in `src/content/`: **Blog Post** (`src/content/blogs/my-post.mdx`): ```mdx --- title: "My First Post" description: "Brief description" date: "2024-01-20" tags: ["React", "Next.js"] readingTime: "5 min read" # Optional --- # Hello World! Your content here... ``` **Project** (`src/content/projects/my-project.mdx`): ````mdx --- title: "My Project" description: "Brief description" date: "2024-01-20" tech: ["React", "Node.js"] github: ["https://github.com/you/project"] # Supports multiple URLs link: ["https://demo.com"] # Optional, supports multiple papers: ["https://paper-url"] # Optional, for research papers image: "/projects/my-project.jpg" # Optional --- # My Awesome Project Project details... ## Architecture ```mermaid graph LR A[Frontend] --> B[API] B --> C[Database] ``` ```` ## Tech Stack | Category | Technologies | | -------- | ---------------- | | Frontend | React, Next.js | | Backend | Node.js, Express | ```` **Experience** (`src/content/experiences/my-job.mdx`): ```mdx --- company: "Company Name" role: "Software Engineer" period: "2023 - Present" description: "Brief description" technologies: ["React", "Node.js"] date: "2023-01-01" --- # My Experience Details about your role... ```` That's it! Your content appears automatically. --- ## 🎨 What You Get - ✅ Homepage with hero section - ✅ About page with skills & bio - ✅ Blog with MDX support - ✅ Giscus comments on blog posts and projects - ✅ Project showcase with image cards - ✅ Experience timeline - ✅ Mermaid diagram support - ✅ Markdown table support - ✅ Syntax highlighting with copy button - ✅ Multiple URLs per project (GitHub, demo, papers) - ✅ Dark/Light mode toggle - ✅ Mobile-friendly navigation - ✅ SEO optimized (sitemap, metadata, structured data) - ✅ Fast loading (static generation) --- ## 🚀 Deploy Your Portfolio ### Vercel (Recommended) 1. Push your code to GitHub 2. Go to [vercel.com](https://vercel.com) 3. Import your repository 4. Click Deploy - Done! 🎉 ### Netlify 1. Push your code to GitHub 2. Go to [netlify.com](https://netlify.com) 3. Import your repository 4. Build: `bun run build` | Publish: `out` 5. Deploy - Done! 🎉 --- ## 📚 Documentation - **[docs/README.md](./docs/README.md)** - Quick overview - **[docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)** - Technical details --- ## 🛠️ Tech Stack - **Next.js 15** - React framework with App Router - **TypeScript** - Type safety - **Tailwind CSS 4** - Styling - **MDX** - Markdown with React components - **Mermaid** - Diagram and flowchart support - **Giscus** - GitHub Discussions powered comments - **remark-gfm** - GitHub Flavored Markdown (tables, etc.) - **react-syntax-highlighter** - Code syntax highlighting - **YAML** - Configuration files - **shadcn/ui** - UI components --- ## 📄 License **MIT License** - Free to use for personal and commercial projects! Feel free to: - ✅ Use for your portfolio - ✅ Modify as you like - ✅ Deploy anywhere - ✅ Remove attribution (optional, but appreciated!) --- ## 🤝 Contributing Found a bug? Have a feature idea? Contributions are welcome! 1. Fork the repository 2. Create your feature branch 3. Submit a pull request --- ## 💡 Tips - Update `domain` in `src/config/site.yaml` for proper SEO - Add your resume PDF to `public/resume.pdf` - Add project images to `public/projects/` for card thumbnails - Use mermaid diagrams to visualize architecture - Use markdown tables for tech stacks and comparisons - Customize colors in `src/app/globals.css` - Write regularly - fresh content helps SEO! - Check `projectPrompt.txt` for portfolio entry template ### Setting Up Comments (Giscus) **Quick Setup:** 1. Create a public GitHub repository for discussions 2. Enable Discussions in repo settings 3. Install [Giscus app](https://github.com/apps/giscus) 4. Go to [giscus.app](https://giscus.app) and configure: - Select your repository - Choose "pathname" mapping - Create categories: "Blog Comments" and "Project Discussions" - Copy the configuration values 5. Update `src/components/Giscus.tsx` with your values: - `data-repo` - `data-repo-id` - `data-category-id` for both categories **Note:** Giscus IDs are safe to commit - they're public identifiers, not secrets! 📖 **[Read the detailed setup guide](https://tejas.mandhare.com/blog/adding-giscus-comments-portfolio)** - Complete walkthrough with code examples, troubleshooting, and best practices. --- ## 🌟 Show Your Support If you find this template helpful: - ⭐ Star this repository - 🐛 Report bugs - 💡 Suggest features - 🔀 Share with others --- ## 📞 Need Help? - Check [docs/](./docs/) for documentation - Open an [issue](https://github.com/yourusername/portfolio-next/issues) - Join discussions --- <div align="center"> **Built with ❤️ for the open source community** [Demo](https://your-demo.vercel.app) • [Documentation](./docs/) • [Issues](https://github.com/yourusername/portfolio-next/issues) </div> --- **Ready to build your portfolio?** Clone this repo and make it yours! 🚀
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

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

nxt-lnk
Custom bio links for creatives who love coding. A perfect custom alternative for linktree, bio and other short…
Next.js · 作品集

sylph
A minimal portfolio template.
Next.js · 作品集

sleek-portfolio
sleek-portfolio 是一个面向开发者个人品牌展示的现代作品集模板,基于 Next.js 15、TypeScript、Tailwind CSS 和 Shadcn UI 构建。
Next.js · 作品集

research-website-template
React + Next.js template for research websites (for PhD students, researchers, etc)
Next.js · 作品集

shadcn-portfolio
shadcn-portfolio 是一个面向开发者的作品集模板,技术栈为 Next.js 15、shadcn/ui、Tailwind CSS 和 Framer Motion。
Next.js · 作品集
