HTML作品集工具站

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

作者 elias4044

一个基于 Node.js CLI 的作品集网站生成器,通过问答式提示生成 HTML/CSS/JS 静态作品集页面,可选接入 Discord Webhook 的留言表单后端。

看看你的网站会是什么样

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

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

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

全部页面与视图 2

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

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

值得关注的模板亮点

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

01

通过 npx create-portfolio 交互式问答生成作品集,无需手写代码

02

支持姓名、角色、技能、项目、联系方式等内容的自定义输入

03

提供 createPortfolio JavaScript API,可在脚本中程序化生成站点

04

生成结果为 HTML/CSS/JS 静态页面,可部署到 GitHub Pages、Vercel、Netlify 等静态托管

05

留言表单为可选功能,可对接 Express 后端或 Vercel 无服务器函数,并转发到 Discord Webhook

06

代码采用 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 许可,允许免费使用、修改、商用与分发代码,但需保留版权声明与许可声明;演示图片、字体、图标等第三方素材需按各自许可单独核对,域名、托管等外部服务可能另行收费。

HTML作品集工具站

适合你的项目吗?

适用场景

  • 个人开发者或设计师快速搭建展示项目与联系方式的个人作品集页面
  • 需要在不写前端代码的情况下,通过命令行问答生成静态简历/作品集站点
  • 希望把作品集部署到 GitHub Pages、Vercel 或 Netlify 等静态托管平台
  • 需要留言表单并将访客消息转发到 Discord 频道的个人站点

适合人群

  • 具备 Node.js 环境、愿意通过命令行生成站点的个人用户
  • 需要快速产出静态作品集页面并自行部署的开发者
  • 希望以 MIT 许可代码为基础进行二次修改或分发的使用者

上手与定制指南

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

  1. 1

    运行 npm install 安装依赖,再执行 npx create-portfolio(或全局安装后运行 create-portfolio)按提示生成站点

  2. 2

    生成结果默认位于 my-portfolio 文件夹,也可在调用时指定自定义输出目录

  3. 3

    如需留言表单,将 .env.example 复制为 .env 并设置 DISCORD_WEBHOOK_URL、ENABLE_CONTACT_FORM、PORT

  4. 4

    启用后端时需进入生成目录执行 npm install,再用 npm start 或 vercel dev 启动服务

  5. 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 原文

DISCORD_WEBHOOK_URL=your_discord_webhook_url_here

README 原文
https://github.com/elias4044/portfolio-template/blob/main/LICENSEhttps://github.com/elias4044/portfolio-template/blob/main/README.md

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>
![Preview Of Website](https://elias4044.vercel.app/assets/preview.png)

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

看看同类模板

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