无构建步骤:直接打开文件或用静态服务器托管,无需编译或安装依赖
portfolio-template (StijnTimmerman) — HTML 作品集模板
作者 StijnTimmerman
Signal 是一个单页作品集模板,使用原生 HTML/CSS/JS 与 CDN 加载的 Three.js,提供可替换的 WebGL 背景、双语页面和可下载的 PDF 简历,无需构建步骤。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
WebGL 背景可替换:Three.js 场景集中在 scene.js,通过 CONFIG 和 buildScene() 定制
双语结构:主语言在 index.html,第二语言在 /en,带语言切换器,可删除 /en 改为单语言
简历可下载:cv-src/ 中的 HTML 简历可渲染为 PDF,README 提供无头 Chrome 命令
尊重 prefers-reduced-motion,并在无 WebGL 时降级
响应式布局,小屏幕使用较轻的渲染
模板详细介绍
该模板是一个静态单页作品集站点,主语言内容写在 index.html,第二语言放在 /en 目录并提供语言切换器;删除 /en 即可变为单语言站点。页面包含姓名、角色、简介、三张项目卡片和联系方式等占位内容,需要手动替换。
3D 背景集中在 scene.js:顶部 CONFIG 控制背景色、雾、泛光强度、强调色和粒子数量,buildScene(scene, camera, opts) 用于添加网格或点并返回带 update(time, scroll, pointer) 回调的对象;渲染器、窗口缩放、滚动、指针视差、减少动态效果和 WebGL 降级逻辑由模板保留。Three.js 通过 index.html 中的 import map 加载,无需打包工具。
模板尊重 prefers-reduced-motion,在无 WebGL 时降级,并在小屏幕上采用较轻的渲染。简历源码位于 cv-src/,通过无头 Chrome 打印为 PDF;README 也提到 wkhtmltopdf 或 weasyprint 等替代工具。部署方面,README 给出 GitHub Pages、Netlify、Vercel、Cloudflare Pages 以及任意静态服务器的示例,均不需要构建命令。README 未说明具体浏览器兼容范围、性能指标或无障碍认证情况。
适合你的项目吗?
适用场景
- 个人作品集或简历站点:替换占位文本、项目卡片和联系方式后发布
- 需要双语展示的求职或自由职业者页面:保留 /en 目录并维护两份内容
- 希望自定义 3D 视觉背景的静态站点:修改 scene.js 中的 CONFIG 与 buildScene()
- 需要提供 PDF 简历下载的页面:编辑 cv-src/ 下的 HTML 并重新生成 PDF
适合人群
- 能直接编辑 HTML/CSS/JS 的用户
- 希望部署到 GitHub Pages、Netlify、Vercel、Cloudflare Pages 或任意静态服务器的用户
- 需要单页作品集并可选双语支持的开发者或设计师
- 希望替换 Three.js 场景但保留渲染、滚动和降级逻辑的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
在 GitHub 上点击 Use this template 或克隆仓库,用 python3 -m http.server 8000 在本地预览
- 2
编辑 index.html 和 en/index.html 替换姓名、角色、简介、项目卡片、联系方式及 head 元数据和 JSON-LD
- 3
修改 scene.js 顶部的 CONFIG 和 buildScene() 以定制 3D 背景,并保持 CONFIG 颜色与 CSS 自定义属性一致
- 4
替换 avatar.svg、og-image.png(建议 1200×630)和 favicon.svg 等占位图片
- 5
编辑 cv-src/cv-en.html 或 cv-src/cv-nl.html 后,用无头 Chrome 的 --print-to-pdf 重新生成 PDF
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/StijnTimmerman/portfolio-template/blob/main/LICENSEhttps://github.com/StijnTimmerman/portfolio-template/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 80 / 100
- 技术栈
- HTML
- 网站类型
- 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-06-29
- 截图检查日期
- 2026-10-13
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15
查看当时使用的来源资料
SHA-256: cbf6beb5613221d2d9dd521cd7e6e37c8c3165ec766fbb589c1db491f4d53f93
2026-10-13T16:12:23.137Z
来源文件 / 仓库# Signal — portfolio template
A fast, single-page **portfolio template** with an animated WebGL background, a
bilingual setup, and a downloadable CV. No build step, no framework, no
dependencies to install — just static HTML/CSS/JS plus [Three.js](https://threejs.org)
loaded from a CDN.
> Built to be filled in: swap the text, drop in your own 3D scene, replace a few
> images, and deploy anywhere that serves static files.
**[▶ Live demo](https://stijntimmerman.github.io/portfolio-template/)**

## Features
- 🎛 **Swappable 3D background** — the whole Three.js scene lives in one file
(`scene.js`) behind a tiny `CONFIG` + a single `buildScene()` function. Replace
it with anything; the renderer, resize, scroll, pointer-parallax,
reduced-motion and WebGL-fallback plumbing keeps working.
- 🌍 **Bilingual** — primary language in `index.html`, a second language under
`/en`, with a language switcher. Remove `/en` for a single-language site.
- 📄 **Downloadable CV** — designed in HTML (`cv-src/`), rendered to PDF.
- ♿ **Respects `prefers-reduced-motion`** and degrades gracefully without WebGL.
- 📱 Responsive, with lighter rendering on small screens.
- ⚡ **Zero build** — open the file or serve the folder.
## Quick start
Click **“Use this template”** on GitHub (or clone), then preview locally:
```bash
python3 -m http.server 8000
# open http://localhost:8000
```
That's it — there is nothing to compile.
## Customize
### 1. Your content
Edit `index.html` (primary language) and `en/index.html` (second language).
Replace the placeholders: name, role, bio, the three project cards, contact
links, and the `<head>` metadata + JSON-LD. For a single-language site, delete
the `en/` folder and the language switcher.
### 2. The 3D background — `scene.js`
Two things to touch:
- **`CONFIG`** at the top — background color, fog, bloom strength, accent colors,
particle count.
- **`buildScene(scene, camera, opts)`** — add your meshes/points and return an
object with an `update(time, scroll, pointer)` callback. `scroll` is page
progress `0..1`; `pointer` is the smoothed cursor (`-1..1`). Everything else is
boilerplate you can ignore.
Three.js is loaded via an import map in `index.html`, so `import * as THREE from
"three"` works with no bundler.
### 3. Colors & type
The palette and fonts are CSS custom properties in the `<style>` block of
`index.html` (cyan → violet → magenta gradient by default). Keep `scene.js`'s
`CONFIG` colors in sync with your CSS for a cohesive look.
### 4. Images
Replace the placeholders with your own:
- `avatar.svg` — your photo (any format; update the reference if you change the
extension).
- `og-image.png` — social share card, ideally 1200×630.
- `favicon.svg` — site icon.
### 5. CV download
Edit `cv-src/cv-en.html` / `cv-src/cv-nl.html`, then regenerate the PDFs with
headless Chrome (the `@page { size: A4; margin: 0 }` rule keeps the full-bleed
layout):
```bash
CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" # macOS path
"$CHROME" --headless=new --disable-gpu --no-pdf-header-footer \
--print-to-pdf="cv-en.pdf" "file://$PWD/cv-src/cv-en.html"
"$CHROME" --headless=new --disable-gpu --no-pdf-header-footer \
--print-to-pdf="cv-nl.pdf" "file://$PWD/cv-src/cv-nl.html"
```
(Any HTML-to-PDF tool works; `wkhtmltopdf`/`weasyprint` are alternatives.)
## Deploy
It's static, so host it anywhere:
- **GitHub Pages** — Settings → Pages → deploy from branch (root).
- **Netlify / Vercel / Cloudflare Pages** — point at the repo, no build command,
publish directory = root.
- **Any web server** — copy the folder to the document root. Example Caddy:
```
example.com {
encode gzip
root * /var/www/portfolio
file_server
}
```
## Tech
Vanilla HTML/CSS/JS + Three.js (CDN). No dependencies, no build pipeline.
## License
[MIT](./LICENSE) — free to use, modify and share. Attribution appreciated but not
required.
---
Created by [Stijn Timmerman](https://github.com/StijnTimmerman) — the “Signal” portfolio design, shared as an open template. Attribution appreciated but not required.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

simplefolio
⚡️ A minimal portfolio template for Developers
HTML · 作品集

Freelancer
Freelancer 是 Start Bootstrap 出品的单页作品集模板,专为自由职业者、设计师和小型工作室设计。 页面结构清晰,包含多个内容区块、响应式作品集网格,每个作品项目配有模态窗口展示详情。
HTML · 作品集

Resume
Resume 是 Start Bootstrap 推出的简历与 CV 主题,基于 Bootstrap 构建,采用固定侧边栏加内容区块的结构。
HTML · 作品集

Creative
Creative 是 Start Bootstrap 团队维护的一款单页营销模板,定位明确:为创意机构或产品服务提供一个以作品展示和行动号召为核心的落地页。
HTML · 企业官网

Grayscale
Grayscale 是 Start Bootstrap 出品的深色系单页 HTML 模板,基于 Bootstrap 构建。 它的视觉重心放在大尺寸首屏和清晰的内容分区上,整体氛围偏暗,适合摄影、活动或品牌叙事类网站。
HTML · 企业官网

startbootstrap-stylish-portfolio
Stylish Portfolio 是 Start Bootstrap 维护的单页作品集主题,基于 Bootstrap 构建,采用多个内容区块加离屏导航菜单的结构。
HTML · 作品集
