NuxtVue作品集

nuxt-portfolio-studio — Nuxt 作品集模板

作者 wlunan

面向开发者的 Nuxt 个人主页模板,定位为数字名片与作品集入口,提供仅本地开发环境可用的可视化内容后台,生产环境输出纯静态站点。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

采集于 2026-09-30查看来源

值得关注的模板亮点

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

01

首页包含个人介绍、代表项目、近期文章、技能与联系方式等区块

02

提供仅在本地开发环境注册的可视化内容后台,修改写回 data/home.json

03

生产环境为纯静态站点,不暴露后台页面和写入接口

04

页面内容集中保存在 data/home.json,更新无需修改页面组件

05

内置 GitHub Pages 自动部署工作流,并给出 Cloudflare Pages 构建配置

06

支持响应式布局、移动端导航、浅色/深色主题及键盘焦点、跳过导航、减少动画等可访问性特性

模板详细介绍

这是一个基于 Nuxt 的开源个人主页模板,面向开发者,定位是“数字名片 + 作品集入口”。首页包含个人介绍、代表项目、近期文章、技能与联系方式等区块,页面内容集中保存在 data/home.json,日常更新可通过本地内容后台完成,无需修改页面组件。

模板提供仅在本地开发环境注册的可视化内容后台(pnpm admin,访问 127.0.0.1:3000/admin),修改会写回 data/home.json;执行静态生成后不会产生 /admin 页面,也不包含内容写入接口。生产环境为纯静态站点,内置 GitHub Pages 自动部署工作流,也给出 Cloudflare Pages 的构建配置。

仓库默认包含作者 Lunan 的公开主页作为演示,Fork 后需要替换 data/home.json 中的姓名、介绍、联系方式、项目与文章,以及 public 下的头像、favicon、OG 封面和 site.webmanifest 中的名称与图标声明。项目代码采用 MIT 许可,但头像、品牌图形、页面截图与 data/home.json 中的个人内容不包含在 MIT 授权范围内,需按 ASSETS_LICENSE.md 单独核对。

Nuxt作品集

适合你的项目吗?

适用场景

  • 开发者搭建个人数字名片与作品集入口页面
  • 通过本地可视化后台维护主页资料、项目、文章与区块文案
  • 将静态产物部署到 GitHub Pages 或 Cloudflare Pages 等静态托管服务
  • 作为 Nuxt 静态站点与本地内容编辑流程的参考模板

适合人群

  • 需要个人主页与作品集展示的开发者
  • 希望用本地后台维护内容、避免直接改页面组件的使用者
  • 计划将站点部署到 GitHub Pages 或 Cloudflare Pages 的用户
  • 接受 Fork 后替换演示资料与个人视觉资产的开发者

上手与定制指南

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

  1. 1

    需要 Node.js 20 或更高版本,以及 pnpm 9

  2. 2

    安装依赖并启动开发服务:pnpm install、pnpm dev,默认运行在 http://localhost:3000

  3. 3

    启动本地内容后台:pnpm admin,访问 http://127.0.0.1:3000/admin

  4. 4

    Fork 后需替换 data/home.json 中的个人资料,以及 public 下的头像、favicon、OG 封面和 site.webmanifest 声明

  5. 5

    GitHub Pages 首次使用需在仓库 Settings → Pages 将 Source 设为 GitHub Actions;自定义域名需新增 NUXT_APP_BASE_URL=/ 变量

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • MIT 许可仅覆盖项目代码;作者头像、品牌图形、页面截图以及 data/home.json 中的个人内容不在 MIT 授权范围内,需另行查看 ASSETS_LICENSE.md 并自行替换,不能直接沿用这些素材发布自己的站点。
  • Fork 后用于自己的主页前,必须替换 data/home.json 中的姓名、介绍、邮箱、GitHub、博客、项目与文章,以及 public 下的头像、favicon、OG 封面和 site.webmanifest 中的名称与图标声明,不得直接沿用原作者的个人资料与视觉资产。
  • 可视化内容后台仅在本地开发模式注册且限制本机访问,静态生成后的生产站点不包含 /admin 页面和内容写入接口,因此不能在生产环境使用该后台编辑内容。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

头像、品牌图形、页面截图与 `data/home.json` 中的个人内容不包含在 MIT 授权范围内

README 原文

不要直接沿用原作者的头像、品牌图形或个人内容发布自己的站点。

README 原文

它只在开发模式下注册,并限制为本机访问;执行静态生成后不会产生 `/admin` 页面

README 原文
https://github.com/wlunan/nuxt-portfolio-studio/blob/main/LICENSEhttps://github.com/wlunan/nuxt-portfolio-studio/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 6dac44d7d3df913e28f0c03668a5f8dbae7cc49dd89bae97919ef6b9b2f2acd0

2026-10-01T13:57:08.648Z

来源文件 / 仓库
# Nuxt Portfolio Studio

> A local-first portfolio template with a visual content editor.

一个面向开发者的开源个人主页模板,定位是“数字名片 + 作品集入口”。项目使用 Nuxt 3 静态生成,并提供仅在本地开发环境可用的可视化内容后台。

仓库默认包含 Lunan 的公开主页作为演示;Fork 后可通过本地后台替换为自己的资料,无需修改页面组件。

![Nuxt Portfolio Studio 默认演示站截图](./docs/screenshots/home-desktop.png)

## 功能亮点

- 首页包含个人介绍、代表项目、近期文章、技能与联系方式
- 响应式布局、移动端导航及浅色 / 深色主题
- 键盘焦点、跳过导航、减少动画等可访问性支持
- 页面内容集中保存在 `data/home.json`
- 本地内容后台可维护资料、项目、文章与区块文案
- 生产环境为纯静态站点,不暴露后台页面和写入接口
- 内置 GitHub Pages 自动部署,也适合 Cloudflare Pages 等静态托管服务

## 技术栈

- Nuxt 3
- Vue 3
- TypeScript
- Tailwind CSS
- Static Site Generation(SSG)

## 快速开始

需要 Node.js 20 或更高版本,以及 pnpm 9。

```bash
pnpm install
pnpm dev
```

开发服务默认运行在 `http://localhost:3000`。

## 本地内容后台

如果只需要更新主页内容,推荐启动本地后台:

```bash
pnpm admin
```

然后访问 `http://127.0.0.1:3000/admin`。

![Nuxt Portfolio Studio 本地内容后台截图](./docs/screenshots/admin-desktop.png)

后台会把修改保存到 `data/home.json`。它只在开发模式下注册,并限制为本机访问;执行静态生成后不会产生 `/admin` 页面,也不会包含内容写入接口。

更完整的字段说明和操作流程见 [个人主页内容更新指南](./CONTENT_UPDATE_GUIDE.md)。

## 内容结构

```text
data/
├─ home.json     # 后台维护的全部主页内容
├─ site.ts       # 读取品牌、链接与 SEO
├─ profile.ts    # 读取首页介绍、技能与个人标签
├─ projects.ts   # 读取项目数据
├─ articles.ts   # 读取文章数据并拼接博客域名
└─ links.ts      # 根据站点配置生成社交入口
```

日常更新只需要使用本地后台,或直接编辑 `data/home.json`,无需修改页面组件。

## Fork 后必须替换

本仓库保留了作者的公开资料与个人视觉资产。将它用于自己的主页前,请至少检查以下内容:

- `data/home.json` 中的姓名、介绍、邮箱、GitHub、博客、项目和文章
- `public/profile-portrait-720.jpg` 与 `public/profile-portrait-1080.jpg`
- `public/avatar-square.png`
- `public/favicon.svg` 与 `public/og-cover.svg`
- `public/site.webmanifest` 中的名称和图标声明
- README 中的项目名称、截图和说明

不要直接沿用原作者的头像、品牌图形或个人内容发布自己的站点。相关边界见 [素材许可说明](./ASSETS_LICENSE.md)。

## 检查与构建

```bash
# 类型检查并生成静态站点
pnpm check

# 单独执行安全审计
pnpm audit:security

# 本地复现 GitHub Pages 构建
pnpm build:pages
```

静态产物生成在 `.output/public`,不会提交到 Git:

```bash
pnpm preview
```

## GitHub Pages 自动部署

仓库内置 `.github/workflows/deploy-pages.yml`。推送到 `main` 后,会自动检查、构建并发布 `.output/public`。

首次使用时,在 GitHub 仓库打开:

```text
Settings → Pages → Build and deployment → Source → GitHub Actions
```

工作流会自动处理两种地址:

- 普通仓库:`https://<用户名>.github.io/<仓库名>/`
- 用户主页仓库:`https://<用户名>.github.io/`

如果配置了自定义域名,请在 `Settings → Secrets and variables → Actions → Variables` 新增:

```text
NUXT_APP_BASE_URL=/
```

保存后重新运行部署工作流即可。部署完成后,地址会显示在仓库的 **Deployments** 和 **Settings → Pages** 中。

## Cloudflare Pages 部署

在 Cloudflare Pages 连接仓库后,使用以下配置:

| 配置项 | 值 |
| --- | --- |
| Framework preset | Nuxt.js |
| Build command | `pnpm generate` |
| Build output directory | `.output/public` |
| Node.js version | `20` 或更高 |

如果平台没有自动识别 pnpm,可设置:

```text
PNPM_VERSION=9.14.4
```

## 目录结构

```text
nuxt-portfolio-studio/
├─ .github/workflows/deploy-pages.yml
├─ .github/workflows/quality.yml
├─ assets/css/main.css
├─ components/
│  ├─ common/
│  ├─ home/
│  └─ layout/
├─ data/
├─ docs/screenshots/
├─ layouts/
├─ pages/
│  ├─ index.vue
│  └─ admin.vue        # 仅开发模式注册
├─ public/
├─ server/api/admin/   # 仅本机开发模式可用
├─ types/
├─ app.vue
├─ nuxt.config.ts
└─ tailwind.config.ts
```

## 安全与贡献

- 安全问题请按 [SECURITY.md](./SECURITY.md) 提交,避免在公开 Issue 中披露细节。
- 参与开发前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。
- GitHub Actions 会在推送和拉取请求中执行依赖安装、类型检查、静态生成与高危依赖审计。

## 许可

项目代码采用 [MIT License](./LICENSE)。头像、品牌图形、页面截图与 `data/home.json` 中的个人内容不包含在 MIT 授权范围内,详见 [ASSETS_LICENSE.md](./ASSETS_LICENSE.md)。
反馈内容错误

看看同类模板

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