---
title: "GitHub 与 Cloudflare Pages 部署"
description: "本项目的本地开发、部署配置和 Nuxt Studio 在线编辑设置。"
canonical_url: "https://docus-docs.pages.dev/temp/2026-10-8/cloudflare-pages"
---
# GitHub 与 Cloudflare Pages 部署

> 本项目的本地开发、部署配置和 Nuxt Studio 在线编辑设置。

## 项目位置

- 本地目录：`/Users/xiaoxin/docus-docs`
- 私有仓库：[https://github.com/Soliyakeitong/docus-docs](https://github.com/Soliyakeitong/docus-docs)
- 生产分支：`main`

## 本地编辑

```bash
cd ~/docus-docs
npm ci
npm run dev
```

打开开发服务器，点击左下角「编辑此页面」进入中文 Nuxt Studio。
本地编辑会直接写入 `content/`。未分类文章默认放在
`content/Temp/YYYY-M-D/`，日期按上海时区且不补零。

## Cloudflare Pages

本项目使用 Pages Functions 提供服务端接口，并通过 D1 保存 Nuxt Content 的内容索引。
Markdown 原文保存在 GitHub 仓库中。

- 构建命令：`npm run build`
- 输出目录：`dist`
- Node.js 版本：`24.13.0`
- D1 绑定名称：`DB`
- D1 数据库名称：`docus-docs-content`
- 兼容性标志：`nodejs_compat`

数据库绑定和 Pages 配置见项目根目录 `wrangler.jsonc`。

构建后可在本地模拟 Cloudflare 环境：

```bash
npm run build
npm run preview
```

首次部署通过 Wrangler Direct Upload 完成。在已登录 Cloudflare 的本机重新部署：

```bash
npm run deploy
```

项目包含 `.github/workflows/deploy-pages.yml`，用于 GitHub Actions 自动部署。
在仓库 Settings → Secrets and variables → Actions 中添加：

- Secret `CLOUDFLARE_PAGE_EDIT_API_TOKEN`：具有本账号 Cloudflare Pages 编辑权限的 API Token，工作流将其传入 Wrangler 的 `CLOUDFLARE_API_TOKEN` 环境变量。
- Variable `CLOUDFLARE_PAGES_AUTO_DEPLOY`：设为 `true` 启用推送 `main` 后自动部署。
- Variable `NUXT_PUBLIC_SITE_URL`：实际的生产站点地址。

未配置 API Token 时，自动部署默认关闭；可继续使用本机部署命令。
Direct Upload 项目使用 GitHub Actions 接入自动部署；Cloudflare 原生 Git 集成需要另建项目。

## Nuxt Studio 在线编辑

在线编辑需要单独创建 GitHub OAuth App；Cloudflare 的 GitHub 应用授权用于构建部署，
Studio OAuth 用于编辑器登录。

在 GitHub Developer Settings 中创建 OAuth App，将 Homepage URL 设置为实际的站点地址，
Authorization callback URL 设置为：

```text
https://你的站点域名/__nuxt_studio/auth/github
```

在 Cloudflare Pages 的生产环境中添加以下变量，并重新部署：

- `STUDIO_GITHUB_CLIENT_ID`：OAuth App 的 Client ID。
- `STUDIO_GITHUB_CLIENT_SECRET`：以 Secret 类型保存 Client Secret。
- `STUDIO_GITHUB_MODERATORS`：允许登录的 GitHub 账号邮箱，用逗号分隔。
- `NUXT_STUDIO_AUTH_SESSION_SECRET`：以 Secret 类型保存随机会话密钥，至少 32 个字符。

以上 GitHub 变量名对应本项目安装的 Nuxt Studio 1.7.0 的实际服务端实现。
配置完成后，访问站点的 `/_studio` 登录、编辑并提交内容。
启用 GitHub Actions 自动部署后，提交会触发 Pages 重新部署；否则使用本机部署命令更新站点。
不要将真实凭据写入 Markdown、Git 仓库或聊天记录。


## Sitemap

See the full [sitemap](https://docus-docs.pages.dev/sitemap.md) for all pages.
