可直接部署scribe或l5-swagger生成的静态html文档到github pages,需确保public/docs(scribe)或public/swagger(l5-swagger)目录为纯静态资源,并正确配置pages源为根目录或gh-pages分支,同时设置cname和https。

直接把 Laravel 项目生成的静态文档(比如用 Scribe 或 L5-Swagger 导出的 HTML)部署到 GitHub Pages,是轻量、免费且可长期维护的方案。关键不在“能不能”,而在路径配置、构建产物位置和 Pages 源设置是否匹配。
确认文档已导出为纯静态文件
以 Scribe 为例,运行 php artisan scribe:generate 后,默认输出在 public/docs 目录下,里面是完整的 HTML/CSS/JS 文件,无需服务器支持。L5-Swagger 则通常输出到 public/swagger 或自定义路径。确保该目录存在且能本地打开 index.html 正常访问。
- 检查
public/docs/index.html是否可双击打开并显示完整交互式文档 - 若使用 VuePress/Hugo 等生成器,需先执行
npm run build或hugo,产出物一般在dist/或docs/.vuepress/dist - 避免将
storage、vendor或 PHP 文件混入部署目录——GitHub Pages 只认静态资源
选择合适的仓库与部署方式
两种主流方式,按用途选:
GInstall OneClick — 一键安装 GitHub 项目:规划、克隆、安装 Node 依赖、运行开发脚本。适用于想要获取 GitHubNode.js 项目的用户。
-
用户主页形式:建一个
yourname.github.io仓库,把文档整个放进去(如public/docs内容直接放在仓库根目录),发布后地址为https://yourname.github.io/。适合个人主站或核心项目文档入口 -
项目子路径形式:在现有 Laravel 项目仓库中启用 Pages,Source 设为
gh-pages分支或/docs目录。文档访问地址为https://yourname.github.io/your-laravel-project/,更利于代码与文档同仓管理
配置 Pages 源并处理路径问题
GitHub Pages 默认从所选分支的根目录找 index.html。但 Scribe 导出的文档在 /docs 子目录,直接放根目录会 404。解决方法有两个:
- 把
public/docs全部内容复制到仓库根目录(覆盖掉默认的index.html),适合用户页部署 - 改用 GitHub Actions 自动化部署:在
.github/workflows/deploy-docs.yml中指定构建后将public/docs推送到gh-pages分支,Pages 源设为该分支即可 - 若用前端框架(如 VuePress)生成文档,必须在配置中设好
base: "/your-repo-name/",否则资源路径会 404
绑定域名与 HTTPS 设置
GitHub Pages 默认启用 HTTPS,无需额外操作。要绑定自定义域名:
- 在仓库根目录新建
CNAME文件,内容只写一行:例如docs.yourapp.com - 去你的 DNS 服务商添加一条 CNAME 记录:
docs→yourname.github.io - 等 DNS 生效(通常几分钟到几小时),GitHub 页面设置里会出现绿色锁图标,表示 HTTPS 已就绪
不复杂但容易忽略。










