Next.jsAstroReact作品集

Personal-Portfolio-2.0 — Next.js 作品集模板

作者 alvin-dennis

基于 Next.js 与 Sanity 的个人开发者作品集模板,内容通过内嵌 Studio 管理,采用 MIT 许可。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

内容通过内嵌在 /manage 的 Sanity Studio 管理,hero、项目、经历、技能、评价、教育经历与站点设置均可后台更新

02

使用 Next.js、React、TypeScript、Tailwind CSS 与 Shadcn/UI 构建,配合 Framer Motion 实现页面与组件动画

03

提供 Sanity 相关脚本,可独立运行 Studio、部署 Studio 以及从 schema 与查询生成类型

04

Schema 定义与 GROQ 查询分别集中在 src/sanity/schemaTypes 和 src/sanity/lib/queries.ts

05

仓库采用 MIT 许可,允许免费使用、修改、商用与分发,需保留版权与许可声明

模板详细介绍

这是一个个人开发者作品集网站模板,用于展示个人经历、技能、项目与成就。页面内容包括 hero、项目、经历、技能、评价、教育经历和站点设置,这些内容并非硬编码,而是通过内嵌在 /manage 路径下的 Sanity Studio 进行管理,因此更新站点内容无需改动代码。

技术栈方面,项目使用 Next.js 作为框架,React 构建交互界面,TypeScript 提供类型支持,Tailwind CSS 与 Shadcn/UI 负责样式与组件,Framer Motion 处理页面与组件动画,图标来自 Lucide React 与 React-icons,包管理与运行时使用 Bun。Sanity 作为无头 CMS 提供内容数据,Schema 定义位于 src/sanity/schemaTypes,GROQ 查询位于 src/sanity/lib/queries.ts。

使用前需要自行准备 Sanity 项目,并在 .env.local 中配置 NEXT_PUBLIC_SANITY_PROJECT_ID、NEXT_PUBLIC_SANITY_DATASET 和 NEXT_PUBLIC_SANITY_API_VERSION。仓库中附带的姓名、图片与内容属于原作者,作为模板使用时需要替换为自己的信息。代码采用 MIT 许可,可免费使用、修改、商用和分发,但演示图片、字体、图标等第三方素材需按各自许可单独核对,域名、托管等外部服务也可能产生费用。

Next.jsAstroReact作品集

适合你的项目吗?

适用场景

  • 搭建个人开发者作品集网站,集中展示项目、技能与工作经历
  • 需要在不修改代码的前提下,通过后台持续更新作品集内容的场景
  • 以 Next.js 加无头 CMS 的组合作为学习或二次开发的基础项目
  • 替换原作者信息后,作为个人品牌或求职展示页面的起点

适合人群

  • 希望用 Next.js 与 Sanity 搭建个人作品集的开发者
  • 接受使用无头 CMS 管理内容、而非直接编辑页面代码的用户
  • 需要 MIT 许可下可自由修改与商用的作品集模板的开发者
  • 具备配置环境变量与 Sanity 项目能力的前端使用者

上手与定制指南

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

  1. 1

    克隆仓库后使用 bun install 安装依赖

  2. 2

    在项目根目录创建 .env.local,填入 NEXT_PUBLIC_SANITY_PROJECT_ID、NEXT_PUBLIC_SANITY_DATASET 与 NEXT_PUBLIC_SANITY_API_VERSION,这些值可在 sanity.io/manage 获取

  3. 3

    使用 bun dev 启动,站点运行于 http://localhost:3000,Sanity Studio 位于 http://localhost:3000/manage

  4. 4

    可使用 bun sanity:dev、bun sanity:deploy、bun sanity:typegen 分别独立运行 Studio、部署 Studio 与生成类型

  5. 5

    模板中的姓名、图片与内容属于原作者,使用前需替换为自己的信息,并自行核对第三方素材许可

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 使用前必须自行创建 Sanity 项目并配置环境变量,站点内容依赖该外部无头 CMS 服务,未配置则无法正常展示内容。
  • 需要注册 Sanity 账号并在其平台创建项目以获取项目 ID 与数据集,属于外部服务依赖。
  • 模板内置的姓名、图片与文字内容归原作者所有,作为模板使用时需替换为自己的信息,第三方素材许可需自行核对。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Create a `.env.local` file in the project root with your Sanity project details

README 原文

You can find/create these at [sanity.io/manage](https://www.sanity.io/manage).

README 原文

The information contained in this template, including names, images, and content, has been created entirely by me

README 原文
https://github.com/alvin-dennis/Personal-Portfolio-2.0/blob/main/LICENSEhttps://github.com/alvin-dennis/Personal-Portfolio-2.0/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2026-09-11
截图检查日期
2026-10-03

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: 179378734e423147e21f978f6f969acb0ea42b8d23518fa92c3e128baa2435f9

2026-10-03T13:48:33.036Z

来源文件 / 仓库
# Portfolio Website

## 👋 Welcome to my portfolio website

This platform serves as a digital showcase of my professional journey, skills, projects, and achievements. Feel free to explore my portfolio and discover the projects I've worked on. From web development and design to digital marketing and beyond, each project represents a labor of love and a testament to my commitment to excellence.

Content (hero, projects, experience, skills, testimonials, education, site settings) is managed through an embedded [Sanity](https://www.sanity.io) Studio rather than hardcoded, so the site can be updated without touching code.

## Demo

You can also check out the live demo of the portfolio website [here](https://alvinn.me).

## Technologies Utilized

- **Next.js** → All-in-one web framework for building fast, performance oriented websites.
- **React 19** → Latest React release with enhanced features for building dynamic and interactive user interfaces.
- **TypeScript** → Strongly typed JavaScript for improved developer productivity, maintainability, and code quality.
- **Sanity** → Headless CMS powering site content, embedded as a Studio at `/manage`.
- **Tailwind CSS** → Utility-first CSS framework for rapid UI development, responsive design, and modern styling.
- **Shadcn/UI** → Accessible, customizable component library built on Radix UI primitives.
- **Framer Motion** → Animation library used for page and component motion.
- **Lucide React** → Lightweight, customizable SVG icon set for modern UI design.
- **React-icons** → Unified icon library providing easy access to multiple icon packs in React.
- **Bun** → Fast JavaScript runtime and package manager for an improved development experience.

## Installation

Clone the Repo

```bash
git clone https://github.com/alvin-dennis/Personal-Portfolio-2.0.git
```

Installation of dependencies

```bash
bun install
```

### Environment Variables

Create a `.env.local` file in the project root with your Sanity project details:

```bash
NEXT_PUBLIC_SANITY_PROJECT_ID=your-project-id
NEXT_PUBLIC_SANITY_DATASET=your-dataset-id
NEXT_PUBLIC_SANITY_API_VERSION=api-verson
```

You can find/create these at [sanity.io/manage](https://www.sanity.io/manage).

Start Server

```bash
bun dev
```

The site runs at `http://localhost:3000`, and the Sanity Studio is available at `http://localhost:3000/manage`.

### Sanity Scripts

```bash
bun sanity:dev        # run Studio standalone (outside Next.js)
bun sanity:deploy      # deploy the Studio
bun sanity:typegen     # generate types from your schema/queries
```

Schema definitions live in `src/sanity/schemaTypes`, and GROQ queries live in `src/sanity/lib/queries.ts`.

> [!NOTE]
> The information contained in this template, including names, images, and content, has been created entirely by me and reflects my own work and experiences. Any resemblance to real-life people, events, or situations is purely coincidental. You are encouraged to replace this content with your own information if using it as a template.

## Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request. Follow the [guidelines](https://github.com/alvin-dennis/Personal-Portfolio-2.0/blob/main/CONTRIBUTING.md) for contributing.

## Security

Found a vulnerability? See [SECURITY.md](https://github.com/alvin-dennis/Personal-Portfolio-2.0/blob/main/SECURITY.md) for how to report it privately.

Thank you for visiting, and I hope you enjoy your time here! If you have any questions or would like to collaborate, don't hesitate to reach out.

Happy browsing! ✨
反馈内容错误

看看同类模板

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