@atlaskit/editor-plugin-content-format

中文文档
24.0.0发布于 2026/10/27Apache-2.0TypeScriptESM + CJS近 30 天下载 2.2万

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

中文使用文档
文档目录12 节
  1. 概览
  2. 主要特点
  3. 安装
  4. 使用量
  5. 访问内容模式状态
  6. 更新内容模式
  7. 插件 API
  8. 配置选项
  9. 共享状态
  10. 图标
  11. 支助
  12. 许可证

编辑器插件内容格式

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

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

概览

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

主要特点

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

安装


使用量


仅内部使用

访问内容模式状态

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

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



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

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

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

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

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

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

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 命令 :

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

插件 API

配置选项

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

共享状态

type ContentFormatPluginState = {
  contentMode: EditorContentMode;
};

图标

updateContentMode(mode: EditorContentMode)

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

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

参数:

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

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

示例

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

支助


对于内部阿特拉斯人, 访问懒惰的通道 # 帮助编辑器 # 支助或访问 去/编辑-帮助 以提交错误.

许可证


请看 阿特拉斯前端 - 许可证 获取更多的许可证信息.

版本与发布记录

@atlaskit/editor-plugin-content-format 共发布 29 个版本,首次发布于 2026/01/14;过去 12 个月发布了 29 个版本。

版本发布日期距今
24.0.0latest2026/10/2711 天前
23.0.02026/10/2018 天前
22.0.02026/10/1622 天前
21.0.02026/10/1425 天前
20.0.02026/10/0830 天前
19.0.02026/10/071 个月前

关于 @atlaskit/editor-plugin-content-format 的常见问题

@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 和提交记录判断。