HTML作品集

portfolio-template (StijnTimmerman) — HTML 作品集模板

作者 StijnTimmerman

Signal 是一个单页作品集模板,使用原生 HTML/CSS/JS 与 CDN 加载的 Three.js,提供可替换的 WebGL 背景、双语页面和可下载的 PDF 简历,无需构建步骤。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

无构建步骤:直接打开文件或用静态服务器托管,无需编译或安装依赖

02

WebGL 背景可替换:Three.js 场景集中在 scene.js,通过 CONFIG 和 buildScene() 定制

03

双语结构:主语言在 index.html,第二语言在 /en,带语言切换器,可删除 /en 改为单语言

04

简历可下载:cv-src/ 中的 HTML 简历可渲染为 PDF,README 提供无头 Chrome 命令

05

尊重 prefers-reduced-motion,并在无 WebGL 时降级

06

响应式布局,小屏幕使用较轻的渲染

模板详细介绍

该模板是一个静态单页作品集站点,主语言内容写在 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 未说明具体浏览器兼容范围、性能指标或无障碍认证情况。

HTML作品集

适合你的项目吗?

适用场景

  • 个人作品集或简历站点:替换占位文本、项目卡片和联系方式后发布
  • 需要双语展示的求职或自由职业者页面:保留 /en 目录并维护两份内容
  • 希望自定义 3D 视觉背景的静态站点:修改 scene.js 中的 CONFIG 与 buildScene()
  • 需要提供 PDF 简历下载的页面:编辑 cv-src/ 下的 HTML 并重新生成 PDF

适合人群

  • 能直接编辑 HTML/CSS/JS 的用户
  • 希望部署到 GitHub Pages、Netlify、Vercel、Cloudflare Pages 或任意静态服务器的用户
  • 需要单页作品集并可选双语支持的开发者或设计师
  • 希望替换 Three.js 场景但保留渲染、滚动和降级逻辑的用户

上手与定制指南

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

  1. 1

    在 GitHub 上点击 Use this template 或克隆仓库,用 python3 -m http.server 8000 在本地预览

  2. 2

    编辑 index.html 和 en/index.html 替换姓名、角色、简介、项目卡片、联系方式及 head 元数据和 JSON-LD

  3. 3

    修改 scene.js 顶部的 CONFIG 和 buildScene() 以定制 3D 背景,并保持 CONFIG 颜色与 CSS 自定义属性一致

  4. 4

    替换 avatar.svg、og-image.png(建议 1200×630)和 favicon.svg 等占位图片

  5. 5

    编辑 cv-src/cv-en.html 或 cv-src/cv-nl.html 后,用无头 Chrome 的 --print-to-pdf 重新生成 PDF

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

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/)**

![Signal portfolio template](docs/screenshot.png)

## 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.
反馈内容错误

看看同类模板

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