ViteReact作品集

personal-brand-site-template — Vite 作品集模板

作者 solutionsystempro

面向顾问、教练、自由职业者和创作者的开源个人品牌网站模板,基于 Vite、React、TypeScript 与 Tailwind CSS,所有文案集中在 src/content.ts,颜色集中在 tailwind.config.js,可部署到 Vercel 等静态托管。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

所有文案、链接、统计、Offer、FAQ 和 SEO 标签集中在 src/content.ts 一个文件中编辑

02

颜色 token 集中在 tailwind.config.js 的 brand 对象,可调整 primary、ink、muted 等七个颜色

03

首页包含 Hero、Problem、Origin story、Proof、Offers、Free guide、FAQ 等多个区块,另有 About、Contact 和 404 页面

04

默认包含语义化 HTML、可见焦点环、跳转链接、键盘友好 FAQ 手风琴、prefers-reduced-motion 支持和 WCAG AA 文本对比度

05

无后端、无分析、无追踪、无 API 密钥;表单可对接 Formspree、Kit 或其他提供 action URL 的邮件工具

06

提供 Vercel 一键部署和 SPA 重写配置,也可部署到 Netlify、Cloudflare Pages、GitHub Pages 等静态托管

模板详细介绍

该模板提供首页、About、Contact 与 404 页面。首页包含 Hero、Problem、Origin story、Proof(统计与示例推荐语)、Offers、Free guide(邮箱收集)、Who it is for / not for、Community、FAQ 和最终行动号召等区块,并配有粘性页头、可访问的移动菜单和带社交链接的页脚。所有文案、链接、统计、Offer、FAQ 和 SEO 标签集中在 src/content.ts,颜色 token 集中在 tailwind.config.js 的 brand 对象中。模板默认包含语义化 HTML、可见焦点环、跳转链接、键盘友好的 FAQ 手风琴、对 prefers-reduced-motion 的支持以及 WCAG AA 文本对比度,响应式覆盖 360px 手机到 1440px 桌面。项目无后端、无分析、无追踪、无 API 密钥;免费指南表单和联系表单是普通 HTML 表单,POST 到自定义 URL,未配置前提交会显示“尚未连接”的提示。README 还说明了依赖版本已固定,并列出截至 2026 年 10 月 11 日 npm audit 报告的 11 项发现(6 高、5 中),涉及 Tailwind CSS 构建时文件监视器、Vite 本地开发服务器和 React Router 的开放重定向与 SSR 水合问题;模板仅客户端渲染,链接目标由用户在 content.ts 中设置或固定在模板代码中。字体从 Google Fonts 加载,可改为自托管。

ViteReact作品集

适合你的项目吗?

适用场景

  • 顾问、教练、自由职业者或创作者搭建个人品牌网站
  • 需要快速上线一个包含首页、About、Contact 和 404 页面的静态站点
  • 希望通过编辑单个内容文件来更新全站文案和 SEO 标签
  • 需要将免费指南或联系表单接入 Formspree、Kit 等第三方邮件服务
  • 部署到 Vercel 或其他静态托管平台,并使用 SPA 回退支持直接访问子路由

适合人群

  • 顾问、教练、自由职业者和创作者
  • 熟悉或愿意使用 Vite、React、TypeScript 和 Tailwind CSS 的开发者
  • 需要无后端、无追踪的静态个人品牌网站的用户
  • 准备将站点部署到 Vercel 或其他静态托管平台的用户

上手与定制指南

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

  1. 1

    需要 Node.js 18 或更新版本;克隆仓库后运行 npm install,再用 npm run dev 启动本地开发服务器

  2. 2

    编辑 src/content.ts 替换所有 [方括号] 占位内容,并将示例推荐语替换为获得客户许可的真实评价

  3. 3

    在 tailwind.config.js 中修改 brand 颜色 token,并同步更新 index.html 的 theme-color 和 /public 中 SVG 的十六进制颜色

  4. 4

    将 /public 中的占位图片替换为实际图片,社交预览图建议导出 1200x630 PNG 并更新 index.html 中的 og:image 与 twitter:image

  5. 5

    在 src/content.ts 中为 leadMagnet.formAction 和 contact.formAction 设置表单端点 URL,并根据服务商调整 emailFieldName

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • README 提及 Formspree 表单服务;真实提交需配置服务端点,其使用额度与费用需单独核对。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 模板中的推荐语为示例内容,上线前必须替换为获得客户许可的真实评价,不得发布虚构推荐语。
  • 免费指南表单和联系表单默认未连接任何后端,未配置 formAction 前提交只会显示“尚未连接”提示,不会发送数据。
  • 使用 Formspree 接收表单需要自行在 formspree.io 创建表单并获取端点 URL。
  • 使用 Kit(ConvertKit)接收表单需要自行在 Kit 中创建表单并复制其 action URL。
  • 对接 Mailchimp、Tally、Basin、Getform 等其他邮件工具需要自行提供 action URL 并设置正确的 emailFieldName。
  • Vite 5.4.21 的 esbuild 漏洞仅影响本地开发服务器,不要将 npm run dev 暴露到公网。
  • React Router 6.30.6 的开放重定向漏洞在添加用户提供的链接时才可能被触发,模板默认链接由用户或模板代码固定。
  • 字体默认从 Google Fonts 加载,会产生第三方请求;如需避免可改为自托管字体。
  • 可免费用于个人和商业站点,但必须在代码副本中保留 LICENSE 文件;站点上无需可见署名。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

- The testimonials are clearly marked **examples**. Replace them with real quotes from real clients, with their permission, before you launch. Do not publish invented testimonials.

README 原文

The free guide form and the contact form are plain HTML forms that POST to any URL you choose. There is no backend to run. Until you add a URL, submitting shows a friendly "not connected yet" message, so nothing is sent anywhere.

README 原文

1. Create a form at [formspree.io](https://formspree.io).

README 原文

1. In Kit, create a form and open its embed options (HTML).

README 原文

Mailchimp, Tally, Basin, Getform and most email tools give you an HTML form with an `action` URL. Copy the URL into `formAction` and set `emailFieldName` to the input name they use.

README 原文

- **Vite 5.4.21** (high, via moderate `esbuild`): affects the local dev server only. Do not expose `npm run dev` to the internet. npm's suggested fix is `vite` 8.3.4, a breaking upgrade.

README 原文

- **React Router 6.30.6** (moderate): an open redirect via backslash paths in `<Link>` and `useNavigate`, and a server-side rendering hydration issue. The advisories cover versions below 7.18.0, and npm's suggested fix is `react-router-dom` 7.18.4, a breaking upgrade. This site renders on the client only and link targets are either set by you in `content.ts` or fixed in the template code (such as the logo link to `/`). None come from visitors, so neither path is reachable unless you add user-supplied links.

README 原文

Fonts load from Google Fonts (a third-party request, no tracking). To self-host instead, remove the `<link>` tags in `index.html` and add the font files to `public/`.

README 原文

You are free to use this template for personal and commercial sites. Keep the LICENSE file in your copy of the code. A visible credit on your site is not required.

README 原文
https://github.com/solutionsystempro/personal-brand-site-template/blob/main/LICENSEhttps://github.com/solutionsystempro/personal-brand-site-template/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16

查看当时使用的来源资料

SHA-256: ac18c26a32f483a96a3021f0e1e3cb996d586b497daa6f625ed591e6b2ec3909

2026-10-12T18:56:29.512Z

来源文件 / 仓库
# Personal Brand Site Template

A free, open-source website template for consultants, coaches, freelancers and creators.
Edit one content file, change seven colours if you want, and deploy to Vercel in a few minutes.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/solutionsystempro/personal-brand-site-template)

**Live demo:** [personal-brand-site-template.vercel.app](https://personal-brand-site-template.vercel.app)

![Template home page, hero section](docs/screenshot.png)

## What you get

- **Home page** with Hero, Problem, Origin story, Proof (stats and example testimonials), Offers, Free guide (email capture), Who it is for / not for, Community, FAQ and a final call to action.
- **About**, **Contact** and **404** pages.
- Sticky header with an accessible mobile menu, plus a footer with social links.
- **All copy in one file:** `src/content.ts`.
- **All colours in one place:** `tailwind.config.js`.
- Per-page title, description, Open Graph and canonical tags.
- Accessible by default: semantic HTML, visible focus rings, skip link, keyboard-friendly FAQ accordion, `prefers-reduced-motion` respected, WCAG AA text contrast.
- Responsive from 360px phones to 1440px desktops.
- No backend, no analytics, no tracking, no API keys.

**Stack:** Vite 5, React 18, TypeScript, Tailwind CSS 3, React Router 6, Lucide icons. All dependency versions are pinned.

## Quick start

You need [Node.js](https://nodejs.org) 18 or newer.

**macOS / Linux (Terminal)**

```bash
git clone https://github.com/solutionsystempro/personal-brand-site-template.git my-site
cd my-site
npm install
npm run dev
```

**Windows (PowerShell)**

```powershell
git clone https://github.com/solutionsystempro/personal-brand-site-template.git my-site
cd my-site
npm install
npm run dev
```

Open the URL Vite prints (usually http://localhost:5173). Changes show up as you save.

| Command           | What it does                                  |
| ----------------- | --------------------------------------------- |
| `npm run dev`     | Start the local dev server                    |
| `npm run build`   | Type-check and build the site into `dist/`    |
| `npm run preview` | Serve the built site locally to check it      |

## Make it yours

### 1. Edit your content

Open `src/content.ts`. Every headline, paragraph, link, stat, offer, FAQ and SEO tag lives there, grouped by section with comments.

- Anything in `[square brackets]` is a placeholder. Search the file for `[` to find what is left.
- The testimonials are clearly marked **examples**. Replace them with real quotes from real clients, with their permission, before you launch. Do not publish invented testimonials.
- To reorder or remove home page sections, edit `src/pages/Home.tsx`.

### 2. Change the colours

Open `tailwind.config.js` and edit the `brand` object at the top:

| Token          | Default   | Used for                                   |
| -------------- | --------- | ------------------------------------------ |
| `primary`      | `#2563EB` | Buttons, links, key accents                |
| `primary-dark` | `#1E40AF` | Hover states, text on soft blue            |
| `primary-soft` | `#EAF1FF` | Tinted chips, icon backgrounds             |
| `ink`          | `#0F172A` | Headings and main text                     |
| `muted`        | `#475569` | Body copy and secondary text               |
| `surface`      | `#F5F8FE` | Alternate section backgrounds              |
| `border`       | `#DCE5F3` | Card outlines and dividers                 |

Keep `ink` and `muted` dark enough to stay readable on white (a contrast checker such as WebAIM's helps). Also update `theme-color` in `index.html` and the hex values inside the SVGs in `/public` if you want them to match.

### 3. Swap the images

Placeholder images live in `/public`:

| File              | Where it shows                      | Suggested size |
| ----------------- | ----------------------------------- | -------------- |
| `headshot.svg`    | Hero and About page                 | 960 x 1120     |
| `story.svg`       | Origin story section                | 1120 x 1280    |
| `guide.svg`       | Free guide cover                    | 680 x 880      |
| `og-image.svg`    | Link previews on social media       | 1200 x 630     |
| `favicon.svg`     | Browser tab icon                    | square         |

You can use `.jpg`, `.png` or `.webp` instead. Drop the file in `/public` and update the path in `src/content.ts`.

**Social preview image:** most social networks do not render SVG previews. Export a 1200 x 630 PNG, save it as `public/og-image.png`, and update `site.ogImage` in `src/content.ts` and the two `og:image` / `twitter:image` tags in `index.html`.

### 4. Update the default SEO tags

Link-preview crawlers do not run JavaScript, so they read the tags in `index.html`. Update the title, description and image there to match `src/content.ts`. Each page also sets its own title and description at runtime from the `seo` block in `src/content.ts`. Set `site.url` to your real domain so canonical and Open Graph URLs are correct.

## Connect the email forms

The free guide form and the contact form are plain HTML forms that POST to any URL you choose. There is no backend to run. Until you add a URL, submitting shows a friendly "not connected yet" message, so nothing is sent anywhere.

### Formspree (works for both forms)

1. Create a form at [formspree.io](https://formspree.io).
2. Copy its endpoint, for example `https://formspree.io/f/abcdwxyz`.
3. In `src/content.ts`, set `leadMagnet.formAction` (and/or `contact.formAction`) to that URL.
4. Leave `leadMagnet.emailFieldName` as `"email"`.

### Kit (ConvertKit)

1. In Kit, create a form and open its embed options (HTML).
2. Copy the `action` URL from the embed code, for example `https://app.kit.com/forms/1234567/subscriptions` (older accounts show `app.convertkit.com`).
3. Set `leadMagnet.formAction` to that URL.
4. Set `leadMagnet.emailFieldName` to `"email_address"`.

### Any other provider

Mailchimp, Tally, Basin, Getform and most email tools give you an HTML form with an `action` URL. Copy the URL into `formAction` and set `emailFieldName` to the input name they use.

## Deploy

### Vercel (one click)

Click the **Deploy with Vercel** button at the top. Vercel copies the repo to your GitHub account and deploys it. Every push to your main branch redeploys automatically.

### Vercel (from your own copy)

1. Push your copy to GitHub.
2. In Vercel, choose **Add New > Project** and import the repo.
3. Vercel detects Vite. The defaults (`npm run build`, output `dist`) are correct.

`vercel.json` rewrites every path to `index.html`, so routes like `/about` work when visited directly.

### Other hosts

Any static host works (Netlify, Cloudflare Pages, GitHub Pages). Build with `npm run build`, publish the `dist` folder, and add a single-page-app fallback so unknown paths serve `index.html`.

## Sitemap and robots

`public/robots.txt` allows all crawlers. After you deploy, add a `public/sitemap.xml` listing your pages, for example:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.yourdomain.com/</loc></url>
  <url><loc>https://www.yourdomain.com/about</loc></url>
  <url><loc>https://www.yourdomain.com/contact</loc></url>
</urlset>
```

Then uncomment the `Sitemap:` line in `robots.txt` and point it at that file.

## Project structure

```
public/             Images, favicon, robots.txt
src/
  content.ts        All site copy, links and SEO  <- edit this
  pages/            Home, About, Contact, NotFound
  sections/         One file per home page section
  components/       Header, Footer, Button, forms, SEO hook
  index.css         Base styles and focus rings
tailwind.config.js  Colour tokens and fonts        <- and this
index.html          Default meta tags and fonts
vercel.json         SPA rewrite for Vercel
```

## Notes on dependencies

Versions are pinned exactly. On 11 October 2026, `npm audit` reported 11 findings (6 high, 5 moderate) in three groups:

- **Tailwind CSS 3.4.19** (high): `braces`, `micromatch`, `fast-glob` and `chokidar` in Tailwind's build-time file watcher, plus moderate `postcss-nested` and `postcss-selector-parser`. Build-time only, nothing ships to visitors. npm's suggested fix is `tailwindcss` 4.3.3, a breaking upgrade.
- **Vite 5.4.21** (high, via moderate `esbuild`): affects the local dev server only. Do not expose `npm run dev` to the internet. npm's suggested fix is `vite` 8.3.4, a breaking upgrade.
- **React Router 6.30.6** (moderate): an open redirect via backslash paths in `<Link>` and `useNavigate`, and a server-side rendering hydration issue. The advisories cover versions below 7.18.0, and npm's suggested fix is `react-router-dom` 7.18.4, a breaking upgrade. This site renders on the client only and link targets are either set by you in `content.ts` or fixed in the template code (such as the logo link to `/`). None come from visitors, so neither path is reachable unless you add user-supplied links.

Run `npm audit` yourself for the current state.

Fonts load from Google Fonts (a third-party request, no tracking). To self-host instead, remove the `<link>` tags in `index.html` and add the font files to `public/`.

## License

MIT. Copyright (c) 2026 Ian Ryan Kirk. See [LICENSE](LICENSE).
You are free to use this template for personal and commercial sites. Keep the LICENSE file in your copy of the code. A visible credit on your site is not required.
反馈内容错误

看看同类模板

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