# 连接 GitHub

关联 GitHub 账号，授权仓库访问权限，再打开第一个内容空间。

连接已有的 GitHub 仓库，就可以在 Prosefly 中维护其中的内容。Owner 和 Admin 可以打开**组织设置 → 仓库**，点击连接仓库，开始接入。

关联账号用于确认你的 GitHub 身份；授权 GitHub App 则用于指定 Prosefly 可以访问哪些仓库。完成这两步后，才能选择要连接的仓库。

## 1. 关联 GitHub 账号

点击 **Connect GitHub account**，在 GitHub 中完成授权，再返回 Prosefly。页面显示 **GitHub account connected** 时，表示账号已关联。

<figure>
  <img
    src="/images/github/1-connect-github-account.png"
    alt="先关联 GitHub 账号，再授权仓库访问权限。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>先关联 GitHub 账号，再授权仓库访问权限。</figcaption>
</figure>

## 2. 授权仓库访问权限

点击 **Authorize GitHub repositories**，在 GitHub 中选择仓库所属的个人账号或组织，并授权 Prosefly GitHub App 访问需要维护的仓库。

如果仓库属于 GitHub 组织，安装可能需要组织所有者批准。只读权限足以扫描内容；发布还需要相应的写入权限，并遵守仓库的分支保护规则。

<figure>
  <img
    src="/images/github/2-authorize-github-repositories.png"
    alt="授权 Prosefly GitHub App 访问你选择的仓库。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>授权 Prosefly GitHub App 访问你选择的仓库。</figcaption>
</figure>

## 3. 选择仓库

返回 Prosefly，在已授权的仓库列表中搜索并勾选要连接到当前组织的仓库，然后点击列表下方的连接按钮。只要没有超过套餐的仓库额度，就可以同时连接多个仓库。

如果找不到需要的仓库，点击 **Manage repository access**，检查 GitHub App 的授权范围。关联 GitHub 账号并不代表已授权访问所有仓库。

<figure>
  <img
    src="/images/github/3-connect-repositories.png"
    alt="从已授权的仓库中，选择要连接到组织的项目。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>从已授权的仓库中，选择要连接到组织的项目。</figcaption>
</figure>

## 4. 扫描仓库

连接成功后，仓库会显示在**组织设置 → 仓库**中。找到需要维护的仓库，点击 **Scan repository**。Prosefly 会读取配置的目标分支，识别其中的网站和内容 Collection。

扫描不会修改 Git 文件，也不会执行仓库代码。连接仓库后，还需要单独执行扫描。

<figure>
  <img
    src="/images/github/4-scan-repository.png"
    alt="扫描已连接的仓库，识别其中的内容。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>扫描已连接的仓库，识别其中的内容。</figcaption>
</figure>

## 5. 确认内容空间

检查扫描发现的网站或应用，核对框架、内容目录、Collection 和识别到的属性。选择需要维护的内容空间，确认后等待索引完成。

下面的示例是一个 Astro 网站，包含 Blog、Changelog、Company 和 Docs 等 Collection。实际识别结果取决于你的仓库结构，以及 Prosefly 支持的配置。

<figure>
  <img
    src="/images/github/5-confirm-content-spaces.png"
    alt="确认内容空间前，检查识别到的内容目录和 Collection。"
    width="2800"
    height="1858"
    loading="lazy"
  />
  <figcaption>确认内容空间前，检查识别到的内容目录和 Collection。</figcaption>
</figure>

## 开始编辑

在仓库设置中打开已确认的内容空间，再从内容列表选择一篇文档。现在就可以在工作区中编辑并保存草稿了。保存草稿不会提交到 Git；准备发布时，需要另行审阅变更。

如果识别结果与预期不同，请检查目标分支和内容路径。自定义 loader 或动态配置可能需要手动配置。在 Prosefly 之外修改仓库文件后，需要重新扫描并重建索引，才能刷新工作区内容。

接下来可以阅读[编辑内容](/docs/zh-cn/editing/)，或通过[仓库与内容空间](/docs/zh-cn/repositories-and-spaces/)了解配置和索引管理。
