名称: web-deploy-github
描述: 通过自动化工作流,创建并部署单页静态网站到 GitHub Pages。适用于构建作品集网站、简历页面、落地页或任何需要部署到 GitHub Pages 的静态网页项目。处理从项目初始化到通过 GitHub Actions 自动化实现线上部署的完整工作流。
此技能支持自主创建静态网站并部署到 GitHub Pages。它遵循从项目结构初始化到通过 GitHub Actions 自动部署的完整工作流,专为单页应用、作品集和落地页优化。
创建项目结构:
bash scripts/init_project.sh <项目名称>
这将创建:
项目名称/
├── index.html
├── styles.css
├── script.js
├── README.md
└── .github/
└── workflows/
└── deploy.yml
遵循以下原则构建网站:
- 单页优先:优先优化单页布局,除非明确需要多页
- 自主生成:生成完整、可直接用于生产的代码,无占位符
- 现代设计:使用现代 CSS(flexbox、grid)、响应式设计、简洁美观
- 无依赖:尽可能使用纯 HTML/CSS/JS,如需框架则使用 CDN 链接
使用 assets/templates/ 中的模板作为起点:
- base-html/ - 最简 HTML5 样板
- portfolio/ - 带分区的作品集/简历模板
- landing/ - 带有英雄区和行动号召的落地页模板
bash scripts/deploy_github_pages.sh <项目名称> <GitHub用户名>
此脚本将:
1. 初始化 git 仓库
2. 通过 GitHub CLI 创建 GitHub 仓库
3. 配置 GitHub Pages 设置
4. 推送初始提交
5. 触发首次部署
GitHub Actions 会在推送到主分支时自动部署。工作流包括:
- 检出代码
- 部署到 gh-pages 分支
- 使网站在 https://<用户名>.github.io/<项目名称>/ 上线
用户请求: "Crée-moi un site portfolio CV"(为我创建一个作品集简历网站)
操作:
1. 运行 init_project.sh portfolio-cv
2. 使用 assets/templates/portfolio/ 作为基础
3. 生成包含以下分区的完整 HTML:英雄区、关于、技能、项目、联系
4. 使用 deploy_github_pages.sh portfolio-cv 用户名 部署
用户请求: "Fais-moi une landing page pour mon app"(为我的应用创建一个落地页)
操作:
1. 运行 init_project.sh app-landing
2. 使用 assets/templates/landing/ 作为基础
3. 生成包含英雄区、功能、定价、行动号召的页面
4. 使用 deploy_github_pages.sh app-landing 用户名 部署
gh-pages 分支gh CLI 已认证:gh auth status.github/workflows/deploy.yml 语法init_project.sh - 初始化项目结构deploy_github_pages.sh - 部署到 GitHub Pagesworkflow.md - 详细的工作流文档design-patterns.md - 设计最佳实践templates/base-html/ - 最简 HTML5 样板templates/portfolio/ - 作品集/简历模板templates/landing/ - 落地页模板.github/workflows/deploy.yml - GitHub Actions 工作流模板