# 可复用内容

可复用内容可让你在多个页面和空间之间同步内容，因此你可以同时编辑该区块的所有实例。

<figure><img src="https://2111890564-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2F21nR8UJaA970B2iHPCWL%2Fcreating-content-reusable-content%402x.png?alt=media&#x26;token=ec03b404-3254-485c-bbee-9d4864cf3aac" alt="A GitBook screenshot showing reusable content"><figcaption><p>在某个空间内创建可复用内容。</p></figcaption></figure>

## 基础概念

可复用内容的工作方式与其他任何内容完全相同——你可以通过变更请求修改它，将其纳入审阅工作流，并且它会在任何已发布的网站上正确渲染。

虽然可复用内容可以在多个空间中被引用，但它隶属于一个单独的 *父空间*.

### “父空间”概念

父空间是拥有该可复用内容的空间。它是唯一可以编辑该内容的地方。

尽管对可复用内容的更新会立即显示在所有实例中，但所有更改都必须源自父空间——要么直接编辑，要么通过变更请求。

空间是 GitBook 中的核心概念，同时支持编辑工作流和安全性。由于 GitBook 强制基于权限进行编辑，可复用内容只能在其父空间中更改。这样可以确保即使内容在整个组织内被复用，编辑权限也能得到尊重。

### 已知限制

#### 集成

由集成提供的区块不支持用于可复用内容。这是因为 GitBook 中的集成是按空间安装的，限制访问可确保第三方集成只拥有你授予的权限。在空间之间引用可复用内容会破坏这一安全边界。

#### 搜索

目前，可复用内容只会出现在其父空间内的搜索结果中。我们正在积极解决这一限制，以便可复用内容在被引用的任何地方都能出现在搜索结果中。

## 在应用中

### **创建可复用内容**

要创建可复用内容， [选择一个或多个区块](https://gitbook-open-v2-preview.gitbook.workers.dev/url/gitbook.com/docs/documentation/zh/blocks#selecting-blocks-and-interacting-with-selected-blocks)，然后打开 **操作菜单** <picture><source srcset="broken-reference" media="(prefers-color-scheme: dark)"><img src="https://2111890564-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2F89MTSo5XRpPMVr1T0rxS%2Factions.svg?alt=media&#x26;token=2b5d001e-560a-4f29-8d22-de8163725ca1" alt="The Actions menu icon in GitBook"></picture> ，选择 **转换为**，然后从您的 **可复用内容**。你还可以为区块命名，以便日后更容易找到和复用。

或者，你可以选择一个或多个区块，然后按 **Cmd + C** 以打开提示，询问你是否要创建可复用内容。

### **插入可复用内容**

你可以像插入其他区块一样插入可复用内容。按 `/` 在空白行上打开 **插入面板** ，然后通过名称搜索你的内容，或者直接搜索“reusable”。或者，点击任何区块或空白行左侧的 `+` 。

你还会在页面侧边栏中找到可复用内容面板，在那里可以看到当前空间中之前创建的内容区块列表。

### **编辑可复用内容**

可复用内容就像其他任何内容一样——如果 [实时编辑](https://gitbook-open-v2-preview.gitbook.workers.dev/url/gitbook.com/docs/documentation/zh/collaboration/live-edits) 已启用，你可以直接编辑任意实例，或者通过 [变更请求](https://gitbook-open-v2-preview.gitbook.workers.dev/url/gitbook.com/docs/documentation/zh/collaboration/change-requests) 进行编辑（如果未启用）。你所做的任何更改都会同步到内容被使用的所有地方。

如果你是在变更请求中进行修改，那么当该变更请求被合并后，内容将同步到所有其他实例。

### **分离可复用内容**

你可以通过打开 **操作菜单** <picture><source srcset="broken-reference" media="(prefers-color-scheme: dark)"><img src="https://2111890564-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2F89MTSo5XRpPMVr1T0rxS%2Factions.svg?alt=media&#x26;token=2b5d001e-560a-4f29-8d22-de8163725ca1" alt="The Actions menu icon in GitBook"></picture> 并选择 **分离**来分离可复用内容。分离会将内容转换回普通区块。

一旦分离，你对该区块的任何更改都不会反映到其他实例中，而你在那些实例中的更改也不会反映到已分离的区块中。可复用内容的所有其他实例仍会彼此同步。

### 删除可复用内容

如果你愿意，可以从你的空间中彻底删除可复用内容。在页面的目录中找到该可复用内容，然后打开你要删除的内容旁边的 **操作菜单** <picture><source srcset="broken-reference" media="(prefers-color-scheme: dark)"><img src="https://2111890564-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2F89MTSo5XRpPMVr1T0rxS%2Factions.svg?alt=media&#x26;token=2b5d001e-560a-4f29-8d22-de8163725ca1" alt="The Actions menu icon in GitBook"></picture> ，并选择 **删除**.

删除可复用内容将会 **将其从所有使用它的页面中删除**。此操作无法撤销。

## 与 GitHub 和 GitLab 同步

在同步到 GitHub 和 GitLab 时，可复用内容得到完全支持。你的可复用内容将被导出到一个专用的 `包含` 文件夹中，每个内容都是一个单独的 Markdown 文件。

随后，你的内容会在其他页面中通过 `包含` 指令进行引用。

{% hint style="info" %}
同步时， `.gitbook/includes` 目录会创建在每个已同步空间的根目录中（这可能不是整个仓库的根目录）。如果你的 `.gitbook/includes` 文件夹或其文件出现在你空间的目录中，你可能需要在 TOC 中手动将它们隐藏。
{% endhint %}

#### 示例

{% hint style="success" %}
如果你是在 GitHub 端编写，请确保 include 的路径是相对于包含该引用的文件的路径（而不是仓库根目录）。
{% endhint %}

```markdown
{% include "../../.gitbook/includes/reusable-block.md" %}
```
