通过 npx create-portfolio 交互式问答生成作品集,无需手写代码
portfolio-template (elias4044) — HTML 作品集模板
作者 elias4044
一个基于 Node.js CLI 的作品集网站生成器,通过问答式提示生成 HTML/CSS/JS 静态作品集页面,可选接入 Discord Webhook 的留言表单后端。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
支持姓名、角色、技能、项目、联系方式等内容的自定义输入
提供 createPortfolio JavaScript API,可在脚本中程序化生成站点
生成结果为 HTML/CSS/JS 静态页面,可部署到 GitHub Pages、Vercel、Netlify 等静态托管
留言表单为可选功能,可对接 Express 后端或 Vercel 无服务器函数,并转发到 Discord Webhook
代码采用 MIT 许可,允许免费使用、修改、商用与分发
模板详细介绍
该项目是一个作品集网站生成器,主体为 HTML/CSS/JS 模板,配合 Node.js 命令行工具使用。运行 npx create-portfolio 后,按提示依次输入姓名、角色、技能、项目与联系方式,生成结果默认输出到 my-portfolio 文件夹,也可指定自定义输出目录。生成后的站点是静态页面,可直接在浏览器打开 index.html 预览。
除 CLI 外,项目也提供 JavaScript API:从包中导入 createPortfolio 函数,传入包含 name、role、skills、projects、contacts 的配置对象和输出目录,即可在脚本中程序化生成站点。模板目录中包含 EJS 模板文件 index.html、styles.css、script.js 以及 favicon 图标资源。
留言表单属于可选功能,需要单独启用:将 .env.example 复制为 .env,设置 DISCORD_WEBHOOK_URL(以及 ENABLE_CONTACT_FORM、PORT),在生成目录中安装依赖后通过 npm start 启动 Express 后端,或使用 vercel dev 运行 Vercel 无服务器函数,表单消息会发送到指定的 Discord Webhook。不启用该后端时,站点本身仍是纯静态页面。
项目采用 MIT 许可,允许免费使用、修改、商用与分发代码,但需保留版权声明与许可声明;演示图片、字体、图标等第三方素材需按各自许可单独核对,域名、托管等外部服务可能另行收费。
适合你的项目吗?
适用场景
- 个人开发者或设计师快速搭建展示项目与联系方式的个人作品集页面
- 需要在不写前端代码的情况下,通过命令行问答生成静态简历/作品集站点
- 希望把作品集部署到 GitHub Pages、Vercel 或 Netlify 等静态托管平台
- 需要留言表单并将访客消息转发到 Discord 频道的个人站点
适合人群
- 具备 Node.js 环境、愿意通过命令行生成站点的个人用户
- 需要快速产出静态作品集页面并自行部署的开发者
- 希望以 MIT 许可代码为基础进行二次修改或分发的使用者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
运行 npm install 安装依赖,再执行 npx create-portfolio(或全局安装后运行 create-portfolio)按提示生成站点
- 2
生成结果默认位于 my-portfolio 文件夹,也可在调用时指定自定义输出目录
- 3
如需留言表单,将 .env.example 复制为 .env 并设置 DISCORD_WEBHOOK_URL、ENABLE_CONTACT_FORM、PORT
- 4
启用后端时需进入生成目录执行 npm install,再用 npm start 或 vercel dev 启动服务
- 5
演示图片、字体、图标等第三方素材的许可需单独核对,不能仅依据代码的 MIT 许可判断
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 留言表单为可选功能,启用时需自行配置 Discord Webhook URL,属于外部服务依赖,需自行申请并承担相关成本。
- 启用留言表单后,访客提交的消息会转发到指定的 Discord 频道,需自行准备并维护该外部服务。
- 必须提供有效的 Discord Webhook 地址才能使用留言表单后端,属于外部服务账号/密钥要求。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
### Enable Contact Form (Optional) 1. Copy `.env.example` to `.env` and set your Discord webhook URL:
README 原文
The contact form will send messages to your Discord!
README 原文
https://github.com/elias4044/portfolio-template/blob/main/LICENSEhttps://github.com/elias4044/portfolio-template/blob/main/README.mdDISCORD_WEBHOOK_URL=your_discord_webhook_url_here
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-12。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 82 / 100
- 技术栈
- HTML
- 网站类型
- 作品集 · 工具站
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2025-07-06
- 截图检查日期
- 2026-10-12
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-13
查看当时使用的来源资料
SHA-256: 0ad24255bbeb1aac2de175634ef81acc989ee0d81242ee6d77354096bbee594c
2026-10-12T14:10:14.762Z
来源文件 / 仓库# Portfolio Template Generator
A modern, customizable portfolio website generator. Instantly create a beautiful, interactive HTML/CSS/JS portfolio with your own projects and contact info—no coding required!
[Live Demo](https://elias4044.vercel.app/) · [NPM Package](https://www.npmjs.com/package/@elias4044/portfolio-template)
<br>
<br>

## Features
- **Easy CLI:** Answer a few prompts and generate your portfolio in seconds
- **Customizable:** Add your name, role, skills, projects, and contacts
- **Modern Design:** Responsive, animated, and stylish (HTML, CSS, JS)
- **Contact Form:** Optional backend (Node.js/Express) with Discord webhook support
- **Deploy Anywhere:** Works on GitHub Pages, Vercel, Netlify, or any static host
## Quick Start
### 1. Install dependencies
```sh
npm install
```
### 2. Generate your portfolio
```sh
npx create-portfolio
```
_Or, if installed globally:_
```sh
npm install -g .
create-portfolio
```
You’ll be prompted for your name, role, skills, projects, and contact methods. Your site will be generated in the `my-portfolio` folder (or specify a custom output directory).
### 3. Preview your site
Open the generated `index.html` in your browser.
---
## Advanced Usage
### Use in JavaScript
You can use the generator programmatically:
```js
import { createPortfolio } from 'portfolio-template';
await createPortfolio({
name: 'Jane Doe',
role: 'Web Developer',
skills: ['JS', 'CSS', 'React'],
projects: [
{ name: 'Cool App', description: '...', tech: ['React'], website: '...', github: '...' }
],
contacts: [
{ method: 'Email', label: '[email protected]', link: 'mailto:[email protected]' }
]
}, 'output-folder');
```
### Enable Contact Form (Optional)
1. Copy `.env.example` to `.env` and set your Discord webhook URL:
```sh
cp .env.example .env
# Edit .env and set DISCORD_WEBHOOK_URL
```
2. Install dependencies:
```sh
cd my-portfolio
npm install
```
3. Start the backend:
```sh
npm start
```
OR
```sh
vercel dev
```
3. The contact form will send messages to your Discord!
---
## Project Structure
```
cli.js # CLI tool
index.js # Main API
package.json # Project config
README.md # This file
template/ # HTML/CSS/JS template
index.html # EJS template
styles.css # Styles
script.js # JS
api/ # Backend (optional)
express-server.js # Express backend
vercel-function-contact.js # Vercel serverless function
favicon/ # Icons
```
## Environment Variables
Create a `.env` file in the root:
```
ENABLE_CONTACT_FORM=true
DISCORD_WEBHOOK_URL=your_discord_webhook_url_here
PORT=3000
```
## Contributing
Contributions are welcome! If you have a suggestion or want to fix a bug, please feel free to open an issue or submit a pull request.
Please read the [Contributing Guidelines](https://github.com/elias4044/portfolio-template/blob/main/.github/CONTRIBUTING.md) for details on the code of conduct and the process for submitting pull requests.
## License
MIT
---
Portfolio generator by Elias ([@elias4044](https://github.com/elias4044))
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

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 · 企业官网

markdown live preview
markdown live preview 是一个开源的 Markdown 实时预览工具,核心功能是在浏览器中即时渲染 Markdown 文本。
HTML · 工具站
