这个项目能做什么

该仓库包含 Mathew Musango Peter 个人作品集网站背后的工程实现。该站点使用 Markdown 编写,基于 MkDocs 1.6.1 和 Material 主题 9.7.7 构建,默认采用深 slate 配色,提供亮色切换和青色点缀。开发通过 Podman Compose 本地运行,并使用启用 HTTPS 的开发服务器(serve.py),该服务器借助 mkcert 配置 TLS。CI/CD 通过 GitHub Actions 实现:每次推送到 main 分支或打版本标签时会触发构建工作流,执行 mkdocs build、pip‑audit、链接检查以及特定语言的 lint 检查。构建成功后,站点制品会发布到预备的 S3+CloudFront;版本标签还会额外部署到 AWS 的预生产镜像,并在生产环境经过人工批准后部署到 GitHub Pages。访客分析通过隐私优先的无服务器管道处理:CloudFront 将地理位置头转发到 API Gateway,API Gateway 调用写入 Lambda 将非 IP 数据写入 DynamoDB(TTL 90 天),并调用读取 Lambda 进行汇总查询。基础设施通过 Terraform 定义,包括由 CloudFront 前置的私有 S3 存储桶(使用 OAC)、API Gateway、Lambda 函数、DynamoDB 表以及可选的 WAF/VPC。terraform/ci 引导步骤会为每个环境创建状态后端(S3 + DynamoDB 锁),并为 GitHub Actions 创建最小权限的 OIDC 角色,以确保不使用长期有效的 AWS 密钥。安全实践包括 Dependabot 更新、每个版本生成 CycloneDX SBOM,以及每次 CI 构建运行 pip‑audit。该仓库还提供贡献指南、安全策略、变更日志以及分支/标签规则集。所有代码采用 MIT 许可证;个人内容(文本、图像、简历)仍由作者拥有版权。