joshbotz/your-security-portfolio

GitHub: joshbotz/your-security-portfolio

一款专为云安全专业人士设计的 AWS 托管作品集模板,帮助用户快速发布专业个人网站来展示项目与技术成果。

Stars: 0 | Forks: 0

# 安全作品集模板 这是一款专为云安全专业人士设计的实用作品集入门模板,帮助他们快速发布一个简洁、专业的网站。该模板围绕“AI 增强型从业者”的定位进行设计,因此默认文案读起来就像出自一位真正的云安全工程师之手,而不是一份课程结业作品。 **[→ 使用此模板](https://github.com/joshbotz/your-security-portfolio/generate)** 在 GitHub 上创建你自己的副本。 **[→ PORTFOLIO-GUIDE.md](PORTFOLIO-GUIDE.md)** — 完整指南:获取副本 → 个性化设置 → 添加项目 → 部署 → 分享。 此模板可帮助你: - 清晰地展示你的背景和技术方法 - 展示项目、实验室和技术文章 - 让雇主、同行和招聘人员更容易了解你的工作 - 快速启动 MVP 作品集,然后随着时间的推移进行改进 ## 适用人群 希望展示以下内容的云安全专业人士: - AWS 和云安全项目 - 检测和安全工具相关工作 - 架构笔记和技术文章 - 注重实施的实验室 - 实用的安全文档 ## 60 秒预览 无需设置 —— 只需在浏览器中打开 `index.html` 即可立即预览模板。 或者使用本地服务器: ``` npx serve . # 或:python3 -m http.server ``` ## 从这里开始 填写 5 个字段即可获得可发布的作品集: 1. 将此模板克隆到你自己的 GitHub 帐户。 2. 打开 `assets/js/config.js`。 3. 更新顶部的 **5 个必填字段**:名字、姓氏、职位名称、电子邮件、简历 URL。 4. 将 `assets/img/headshot.png` 替换为你自己的照片。 5. 在浏览器中打开 `setup.html` 以验证所有设置是否正确。 6. 准备好后进行部署。 就是这样。其他所有内容均已预填,开箱即用。 ## 文件结构 ``` YOUR-SECURITY-PORTFOLIO/ ├── assets/ │ ├── css/ │ │ └── style.css │ ├── img/ │ │ ├── favicon.svg │ │ ├── headshot.png │ │ └── og-image.png │ └── js/ │ ├── config.js ← Edit this (5 required fields + optional settings) │ ├── content.js ← Optional deeper page content │ └── main.js ← Binding engine (don't edit) ├── docs/ │ ├── architecture-notes.md │ ├── student-notes.md │ └── troubleshooting.md ├── projects/ │ ├── portfolio-platform.html │ └── project-template.html ├── scripts/ │ ├── deploy-site.sh │ └── validate.sh ├── site/ │ ├── main.tf │ ├── headers.tf │ ├── domain.tf │ ├── outputs.tf │ ├── variables.tf │ └── terraform.tfvars.example ├── .github/ │ └── workflows/ │ └── deploy.yml ├── setup.html ← Setup checklist (open locally to verify config) ├── 404.html ├── about.html ├── contact.html ├── index.html ├── projects.html └── README.md ``` ## 配置工作原理 该模板按加载顺序使用三个 JavaScript 文件: ### config.js — 首先编辑此文件 最顶部是 **5 个必填字段**。其下方是:可选链接(LinkedIn、GitHub、预约链接)、技能/认证、FAQ、“正在构建”项目,以及所有预填的入门文案。首次部署时,你可以忽略必填字段下方的所有内容。 ### content.js — 可选,已预填 包含“关于”、“项目”、“联系”和项目详情页面的更深层内容。开箱即用。删除此文件,网站仍能正常运行。 ### main.js — 请勿编辑 将配置连接到页面的绑定引擎。自动渲染 FAQ、技能、“正在构建”项目,并处理社交媒体元标签。 ## 当前页面 - `index.html` — 主页,包含精选项目、关注领域、“我正在做什么”以及 FAQ - `projects.html` — 项目作品集中心 - `about.html` — 背景、方法、方向、技能和认证 - `contact.html` — 联系方式(电子邮件、预约链接、LinkedIn、GitHub)+ FAQ - `404.html` — 自定义未找到页面 - `projects/portfolio-platform.html` — 精选项目详情 - `projects/project-template.html` — 用于新项目的入门模板 ## 主要功能 ### 预约链接 在 config.js 中将 `schedulingUrl` 设置为你的 Calendly、Cal.com 或预约链接。联系页面上会自动出现一张“预约通话”卡片。将其留空即可隐藏。这对于在求职期间减少阻力非常有用 —— 招聘人员可以直接预约时间。 ### 技能与认证 将你的技能和认证添加到 config.js 的 `skills` 和 `certifications` 数组中。它们将作为标签呈现在“关于”页面的侧边栏上。将其中任何一个设置为 `[]` 即可隐藏。 ### FAQ 部分 主页和联系页面上由配置驱动的折叠面板。在 config.js 中更新问题和答案。 ### “我正在做什么” 主页上的一个简单列表,展示你目前正在构建的内容。在 config.js 中更新 `currentlyBuilding`。设置为 `[]` 即可隐藏。 ### 社交分享 (OG 标签) 每个页面都包含 Open Graph 和 Twitter Card 元标签。部署后在 config.js 中设置 `siteUrl`,以确保 LinkedIn 预览正确显示。将 `assets/img/og-image.png` 替换为自定义图像(建议尺寸为 1200x630px)。 ### 最后更新 在 config.js 中设置 `lastUpdated`(例如 `"March 2026"`),以在页脚显示时间戳。向访问者表明该作品集仍在积极维护。 ### 打印样式表 该网站包含适合打印的样式表。招聘人员可以打印或另存为 PDF,且格式整洁 —— 会移除深色背景,隐藏导航栏,并针对纸张优化内容。 ### 设置清单 在浏览器中打开 `setup.html`,即可查看配置状态的实时仪表板 —— 已设置的字段会显示绿色对勾,仍保留占位符的字段会显示红色叉号。 ### 设置验证器 在部署前运行 `bash scripts/validate.sh` 以捕获缺失的字段。部署脚本会自动执行此操作。 ### 安全标头 CloudFront 响应标头策略添加了 HSTS、X-Content-Type-Options、X-Frame-Options、Referrer-Policy 和 CSP。 ### 自定义域名(可选) 在你的 `terraform.tfvars` 中设置 `domain_name` 和 `hosted_zone_id`,以添加带有 ACM 证书和 Route 53 DNS 的自定义域名。 ### CI/CD 部署 位于 `.github/workflows/deploy.yml` 的 GitHub Actions 工作流会在推送到 main 分支时进行部署。需要配置 GitHub secrets,包含 AWS OIDC 角色、区域、存储桶和 CloudFront ID。 ## 如何添加新项目 1. 复制模板: cp projects/project-template.html projects/your-project-name.html 2. 替换所有 `[BRACKETED]`(括号)占位符文本。搜索 `[` 即可找到它们。 3. 在 `projects.html` 中添加项目卡片 —— 模板在其注释中包含了确切的 HTML 供你复制。 4. 在本地预览,然后进行部署。 ## 图像与品牌化 将以下文件替换为你自己的内容: - `assets/img/headshot.png` — 你的照片 - `assets/img/favicon.svg` — 你的网站图标(可选) - `assets/img/og-image.png` — 社交分享预览图像(1200x630px,可选) ## 部署 ### 首次设置 ``` aws --version terraform version aws configure aws sts get-caller-identity cd site cp terraform.tfvars.example terraform.tfvars # Create your local config # 使用你的 bucket name、region 等编辑 terraform.tfvars。 terraform init terraform validate terraform plan terraform apply terraform output cd .. bash scripts/deploy-site.sh ``` ### 常规内容更新 ``` bash scripts/deploy-site.sh ``` ### 基础设施更新 ``` cd site terraform plan terraform apply cd .. bash scripts/deploy-site.sh ``` ## 销毁 ``` cd site aws s3 rm s3://YOUR_BUCKET_NAME --recursive terraform destroy ``` ## 安全说明 - 私有 S3 源,仅限 CloudFront 访问 - 强制执行 HTTPS 交付 - 静态加密 (AES256) - 已启用版本控制 - 安全响应标头(HSTS、CSP、X-Frame-Options) - 使用 Terraform 实现基础设施即代码 - 通过静态站点架构降低攻击面 ### 重要提示:将敏感信息排除在公共仓库之外 如果你将此模板 Fork 到 **公开的** GitHub 仓库中,请切勿提交: - 任何类型的 **API 密钥或令牌** —— 不要将它们放在 JavaScript 文件、HTML 或配置中 - **`terraform.tfvars`** —— 此文件默认被 `.gitignore` 忽略;请使用 `terraform.tfvars.example` 作为参考并创建一个本地副本 - **`.env` 文件** —— 环境变量保留在本地 - **私钥** (`.pem`, `.key`) —— 永远不要提交这些文件 此模板中的 `.gitignore` 已预先配置为拦截这些文件,但在推送之前务必仔细检查。如果你意外提交了敏感信息,轮换凭证是唯一安全的补救措施 —— 在未来的提交中删除该文件并不会将其从 git 历史记录中抹去。
标签:HTML, Syscall, Web开发, 个人主页, 前端模板, 后端开发, 多模态安全, 应用安全, 数据可视化, 静态网站