# @atlaskit/editor-plugin-content-format 中文文档

规范地址：https://npmcn.com/package/%40atlaskit/editor-plugin-content-format/

版本：24\.0\.0
npm 元数据更新时间：2026-10-27T02:04:51.072Z
中文译文更新时间：2026-11-07T03:03:16.208Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40atlaskit/editor-plugin-content-format
原文对照：https://npmcn.com/package/%40atlaskit/editor-plugin-content-format/?lang=original
项目主页：https://bitbucket.org/atlassian/atlassian-frontend-mirror#readme
源码仓库：https://bitbucket.org/atlassian/atlassian-frontend-mirror

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：26.8 kB，30 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：react ^18\.2\.0 \|\| ^19\.2\.0，@atlaskit/editor-common ^134\.0\.0
- 首次发布：2026-01-14T02:51:22.623Z
- 最新版本发布：2026-10-27T02:04:50.732Z
- 近 30 天下载量：22093（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

@atlaskit/editor-core的内容格式插件

## 安装

```sh
npm install @atlaskit/editor-plugin-content-format
```

也可以使用：`pnpm add @atlaskit/editor-plugin-content-format`、`yarn add @atlaskit/editor-plugin-content-format`、`bun add @atlaskit/editor-plugin-content-format`

## README

# 编辑器插件内容格式

@atlaskit/editor-core的内容格式插件

**说明:** 这一构成部分是为阿特拉斯系统内部开发而设计的. 外部捐助者将能够使用这一构成部分,但无法提交问题.

## 概览

内容格式插件提供中央状态管理来跟踪编辑器的内容模式/格式. 它使插件和产品能够监视和更新当前编辑器内容格式状态.

## 主要特点

-   **内容模式跟踪** - 维持编辑器的当前内容模式(例如, `standard`, (中文(简体) ), `compact`页:1
-   **共享的国家管理** - 为所有依赖的插件提供集中状态
-   **命令 API** - 更新内容模式的简单命令界面
-   **优化更新** - 防止模式不变时不必要的状态更新

## 安装

* * *

-   **安装** - 说吧 _线条添加 @ atlaskit/editor-plugin-content-format_
-   **无** - 说吧 [@atlaskit/editor-plugin-内容-格式](https://www.npmjs.com/package/@atlaskit/editor-plugin-content-format)
-   **来源** - 说吧 [键盘](https://bitbucket.org/atlassian/atlassian-frontend/src/master/packages/editor/editor-plugin-content-format)
-   **套装** - 说吧 [unpkg.com (英语)](https://unpkg.com/@atlaskit/editor-plugin-content-format/dist/)

## 使用量

* * *

**仅内部使用**

### 访问内容模式状态

您需要添加插件作为可选的依赖性, 以在任何您需要访问状态的地方 :

```typescript
import type {
    OptionalPlugin,
} from '@atlaskit/editor-common/types';
// ...
import type { ContentFormatPlugin } from '@atlaskit/editor-plugin-content-format';
// ...



export type YourPluginDependencies = [
    // ...
    OptionalPlugin<ContentFormatPlugin>,
    // ...
];
```

#### 访问插件中的内容模式状态

在您这样的插件访问状态中 :

```typescript
const contentMode = api?.contentFormat?.sharedState?.currentState()?.contentMode
```

#### 在反应组件中访问内容模式状态

在 React 组件中,需要响应内容模式变化,请使用 `useSharedPluginStateWithSelector` 钩:

```typescript
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
import type { PublicPluginAPI } from '@atlaskit/editor-common/types';
import type { ContentFormatPlugin } from '@atlaskit/editor-plugin-content-format';

type Props = {
  editorApi?: PublicPluginAPI<[ContentFormatPlugin]>;
};

export const MyComponent = ({ editorApi }: Props) => {
  const { contentMode } = useSharedPluginStateWithSelector(
    editorApi,
    ['contentFormat'],
    (states) => ({
      contentMode: states.contentFormatState?.contentMode,
    })
  );

  return <div>Current mode: {contentMode}</div>;
};
```

### 更新内容模式

产品和插件可以使用 `updateContentMode` 命令 :

```typescript
api.contentFormat?.commands.updateContentMode('compact');
```

## 插件 API

### 配置选项

```typescript
type ContentFormatPluginOptions = {
  initialContentMode?: EditorContentMode; // Defaults to 'standard'
};
```

### 共享状态

```typescript
type ContentFormatPluginState = {
  contentMode: EditorContentMode;
};
```

### 图标

#### `updateContentMode(mode: EditorContentMode)`

更新当前内容模式。 命令会:

-   返回时 `null` 如果新模式与上一个模式完全相同(不能执行)
-   用新内容模式设定交易的元
-   所有依赖的插件的触发状态更新

**参数:**

-   `mode` (编辑单元): 要设置的新内容模式

**回返情况:** 编辑命令( 不需要更改时取消, 或用元a 进行交易)

**示例**

```typescript
api.contentFormat?.commands.updateContentMode('dense');
```

## 支助

* * *

对于内部阿特拉斯人, 访问懒惰的通道 [\# 帮助编辑器 #](https://atlassian.slack.com/archives/CFG3PSQ9E) 支助或访问 [去/编辑-帮助](https://go/editor-help) 以提交错误.

## 许可证

* * *

请看 [阿特拉斯前端 - 许可证](https://hello.atlassian.net/wiki/spaces/AF/pages/2589099144/Documentation#License) 获取更多的许可证信息.

## 常见问题

### @atlaskit/editor-plugin-content-format 是什么？

@atlaskit/editor-core的内容格式插件

### 如何安装 @atlaskit/editor-plugin-content-format？

在项目目录运行 npm install @atlaskit/editor-plugin-content-format，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^18\.2\.0 \|\| ^19\.2\.0）、@atlaskit/editor-common（^134\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @atlaskit/editor-plugin-content-format 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @atlaskit/editor-plugin-content-format 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @atlaskit/editor-plugin-content-format 可以商用吗？

@atlaskit/editor-plugin-content-format 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @atlaskit/editor-plugin-content-format 的下载量有多少？

根据 npm 官方下载统计，@atlaskit/editor-plugin-content-format 在 2026/10/07 – 2026/11/05 这 30 天内被下载 22,093 次，日均约 736 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @atlaskit/editor-plugin-content-format 还在维护吗？

最新版本 24\.0\.0 发布于 2026/10/27（11 天前）；至今共发布 29 个版本，其中过去 12 个月发布了 29 个；首次发布于 2026/01/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

