如何配置GitHub Pages从11ty的/public文件夹部署站点?
让GitHub Pages从/public文件夹部署11ty站点的方法
可以修改GitHub Pages的配置实现从/public文件夹部署,分两种场景操作:
场景1:直接部署已生成的/public静态文件
如果你的仓库里已经有生成好的/public文件夹(包含完整的静态站点文件),按以下步骤配置:
- 打开你的GitHub仓库页面,点击顶部的「Settings」选项卡
- 在左侧菜单找到「Pages」板块,进入配置页面
- 在「Build and deployment」区域,将「Source」设置为「Deploy from a branch」
- 选择你存放代码的分支(比如
main),然后在「Folder」下拉菜单中选择「/public」 - 点击「Save」,等待几分钟后GitHub Pages会自动从/public文件夹拉取内容完成部署
场景2:用GitHub Actions自动构建并部署(推荐11ty项目使用)
11ty是静态站点生成工具,更适合通过GitHub Actions自动构建代码并部署,步骤如下:
- 在仓库根目录创建路径
.github/workflows/gh-pages.yml的文件 - 将以下内容写入该文件(注意根据你的项目调整
npm run build命令,确保构建后文件输出到/public):
name: Deploy to GitHub Pages on: push: branches: ["main"] workflow_dispatch: permissions: contents: read pages: write id-token: write jobs: deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' - name: Install dependencies run: npm install - name: Build site with 11ty run: npm run build - name: Configure GitHub Pages uses: actions/configure-pages@v4 - name: Upload build artifact uses: actions/upload-pages-artifact@v3 with: path: './public' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4
- 提交并推送这个配置文件到你的仓库分支(比如
main) - 回到仓库的「Settings > Pages」,将「Source」设置为「GitHub Actions」,保存配置
- 之后每次推送代码到指定分支,GitHub Actions会自动执行构建并将/public文件夹的内容部署到GitHub Pages
注意事项
- 如果用场景1,要确保/public文件夹下有
index.html等核心页面文件,否则会出现404错误 - 确认11ty的配置文件(比如
.eleventy.js)中,dir.output设置为'public',这样构建后的文件才会输出到该文件夹 - 部署后如果站点无法访问,可查看GitHub Actions的构建日志排查错误,或检查Pages的部署状态是否正常
内容的提问来源于stack exchange,提问作者fasfsafa
相关产品推荐
相关产品推荐

