TextStyle · 文字样式容器
在同一个 textStyle 标记上保存字体、颜色等直接格式。安装此容器后,再按需安装 FontFamily、Color 等属性扩展。
在同一个 textStyle 标记上保存字体、颜色等直接格式。安装此容器后,再按需安装 FontFamily、Color 等属性扩展。
@quirekit/extension-text-style · MIT
编辑器适用范围
层次:共享文档能力
| 编辑器 | 状态 | 所需装配与边界 |
|---|---|---|
| Classic | 直接支持 | classicEditorPreset — 使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。 |
| Block | 直接支持 | createBlockEditorPreset — createBlockEditor 默认预设已装配此能力。通过 preset 中对应子项配置;图形编辑使用预设注入的工作区,宿主仍负责保存和资源。不要重复安装同名扩展。 |
“直接支持”指已有上述产品装配;具体交互、宿主服务和格式支持仍有各自条件。状态与接入规则。许可独立显示。
接入
pnpm add @quirekit/extension-text-style@alpha
在创建 Editor 时放入 extensions。挂载容器、视图和保存由宿主提供,见快速开始。
import { TextStyle } from '@quirekit/extension-text-style'
安装时按包声明选择兼容版本,外部可用版本以分发源为准。本站使用工作区 Alpha;许可标签来自入口所属包,使用条件见支持与许可。
按编辑器接入
以下片段沿用已挂载的宿主元素 element,宿主负责容器尺寸与保存;退出页面时调用 instance.destroy()。已有预设装配的能力不要再重复追加;需要宿主端口的入口应先完成下方配置。
Classic · 直接支持
使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。
classicEditorPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
const instance = createClassicEditor({ element })Block · 直接支持
createBlockEditor 默认预设已装配此能力。通过 preset 中对应子项配置;图形编辑使用预设注入的工作区,宿主仍负责保存和资源。不要重复安装同名扩展。
createBlockEditorPresetimport { createBlockEditor } from '@quirekit/block-editor'
import '@quirekit/block-editor/styles.css'
const instance = createBlockEditor({
element,
content: { type: 'doc', content: [{ type: 'paragraph' }] },
})配置
下面是扩展自身的默认选项。预设可以覆盖这些值;它们不等于当前文档属性。配置方法见配置插件。
HTMLAttributes
序列化 HTML 时合并的属性,例如 class。它不修改 Canvas 排版,也不是文档中节点属性的默认值。
类型:Record<string, unknown>
默认:{}
mergeNestedSpanStyles
解析嵌套 span 时,是否先合并外层与内层的样式。
类型:boolean
默认:true
命令与运行方式
以下命令由此扩展直接提供,均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定;可以先用 editor.can() 查询。
| 命令 | 参数签名 |
|---|---|
toggleTextStyle | toggleTextStyle() |
removeEmptyTextStyle | removeEmptyTextStyle() |
setTextScale | setTextScale(percentage: number) |
unsetTextScale | unsetTextScale() |
setAllCaps | setAllCaps() |
unsetAllCaps | unsetAllCaps() |
setSmallCaps | setSmallCaps() |
unsetSmallCaps | unsetSmallCaps() |
toggleBold | toggleBold() |
toggleItalic | toggleItalic() |
setDirectBoldState | setDirectBoldState(value: DirectEmphasisState) |
setDirectItalicState | setDirectItalicState(value: DirectEmphasisState) |
setComplexScriptBold | setComplexScriptBold(value: boolean) |
unsetComplexScriptBold | unsetComplexScriptBold() |
setComplexScriptItalic | setComplexScriptItalic(value: boolean) |
unsetComplexScriptItalic | unsetComplexScriptItalic() |
setRunRightToLeft | setRunRightToLeft(value: boolean) |
unsetRunRightToLeft | unsetRunRightToLeft() |
setHiddenText | setHiddenText(value: boolean) |
unsetHiddenText | unsetHiddenText() |
setTextOutline | setTextOutline(value: boolean) |
unsetTextOutline | unsetTextOutline() |
setTextShadow | setTextShadow(value: boolean) |
unsetTextShadow | unsetTextShadow() |
setTextEmboss | setTextEmboss(value: boolean) |
unsetTextEmboss | unsetTextEmboss() |
setTextImprint | setTextImprint(value: boolean) |
unsetTextImprint | unsetTextImprint() |
setEmphasisMark | setEmphasisMark(value: TextStyleEmphasisMark) |
unsetEmphasisMark | unsetEmphasisMark() |
applyTextStyleFieldUpdates | applyTextStyleFieldUpdates(updates: readonly TextStyleResolvedFieldUpdate[]) |
这里只展示参数签名。接界面时见命令与控件,正文变更继续经过同一事务与历史。
其他公开入口
textStyleExtension·@quirekit/extension-text-style