特殊字符
特殊字符功能使您可以插入数学运算符、货币符号、标点符号、图形符号(如箭头或项目符号)或通常无法从键盘访问的 Unicode 字母(如变音符或其他变音符号)。该功能还支持表情符号。
# 演示
使用以下编辑器中的特殊字符工具栏按钮 可配置 面板,其中包含一个可选择特殊字符的表格。
打开一个欧元外汇参考汇率
截至 2020 年 2 月 10 日
所有货币均以欧元 (€) 为基准货币进行报价
- 货币:美元,符号:$,现汇:1.0582
- 货币:英镑,符号:£,现汇:0.8639
- 货币:印度卢比,符号:₹,现汇:88.0845
- 货币:日元,符号:¥,现汇:157.7100
- 货币:俄罗斯卢布,符号:₽,现汇:117.2010
- 货币:土耳其里拉,符号:₺,现汇:29.3393
此演示展示了有限的功能集。访问 功能丰富的编辑器示例 以查看更多实际应用。
# 安装
在 安装编辑器 后,将该功能添加到您的插件列表和工具栏配置中
// Core plugin provides the API for the management of special characters and their categories.
// The other provide a basic set of special characters.
import { ClassicEditor, SpecialCharacters, SpecialCharactersEssentials } from 'ckeditor5';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ SpecialCharacters, SpecialCharactersEssentials, /* ... */ ],
toolbar: [ 'specialCharacters', /* ... */ ],
} )
.then( /* ... */ )
.catch( /* ... */ );
# 配置
默认情况下,已定义了一些特殊字符类别。您可以通过添加新类别、扩展现有类别或完全删除它们来轻松自定义 WYSIWYG 编辑器安装中可用的特殊字符。
# 添加新类别
可以使用 SpecialCharacters#addItems()
函数定义一个新的特殊字符类别。
例如,以下插件将“表情符号”类别添加到特殊字符下拉菜单。
import { ClassicEditor, SpecialCharacters, SpecialCharactersEssentials } from 'ckeditor5';
function SpecialCharactersEmoji( editor ) {
editor.plugins.get( 'SpecialCharacters' ).addItems( 'Emoji', [
{ title: 'smiley face', character: '😊' },
{ title: 'rocket', character: '🚀' },
{ title: 'wind blowing face', character: '🌬️' },
{ title: 'floppy disk', character: '💾' },
{ title: 'heart', character: '❤️' }
], { label: 'Emoticons' } );
}
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [
SpecialCharacters, SpecialCharactersEssentials, SpecialCharactersEmoji,
// More plugins.
// ...
],
toolbar: [ 'specialCharacters', /* ... */ ],
} )
.then( /* ... */ )
.catch( /* ... */ );
将上述插件添加到编辑器配置后,新类别将出现在特殊字符下拉菜单中。
特殊字符的标题在整个特殊字符集中必须是唯一的。
SpecialCharacters#addItems()
方法的第三个参数是可选的。您可以使用它来指定显示为类别名称的标签。当您的编辑器使用英语以外的语言时,这将很有用。查看 UI 语言指南 以了解更多信息。
以下是一个基于上面示例的演示。使用特殊字符工具栏按钮
,然后从下拉菜单中选择“表情符号”。这将使您能够将表情符号插入内容中。轻松构建您的 CKEditor 5。🌬 选择一种编辑器类型,并通过 5 个简单的步骤自定义其插件、工具栏和语言。😊
新的 CKEditor 5 在线构建器 终于来了!🚀
# 向现有类别添加字符
通过使用 SpecialCharacters#addItems()
函数,您还可以向现有类别添加新的特殊字符。
import { ClassicEditor, SpecialCharacters, SpecialCharactersEssentials } from 'ckeditor5';
function SpecialCharactersExtended( editor ) {
editor.plugins.get( 'SpecialCharacters' ).addItems( 'Mathematical', [
{ title: 'alpha', character: 'α' },
{ title: 'beta', character: 'β' },
{ title: 'gamma', character: 'γ' }
] );
}
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [
SpecialCharacters, SpecialCharactersEssentials, SpecialCharactersExtended,
// More plugins.
// ...
],
toolbar: [ 'specialCharacters', /* ... */ ],
} )
.then( /* ... */ )
.catch( /* ... */ );
特殊字符的标题在整个特殊字符集中必须是唯一的。
以下是一个基于上面示例的演示。使用特殊字符工具栏按钮
,然后从下拉菜单中选择“数学”。您将看到该类别现在包含由上面配置引入的附加希腊字母。希腊字母表字母
希腊字母表字母用作数学和科学符号。
以下是一些您可以用来表示三角形中角度的希腊字母的示例
- 字母名称:alpha,希腊字母:α
- 字母名称:beta,希腊字母:β
- 字母名称:gamma,希腊字母:γ
# 删除类别
特殊字符功能将每个类别作为单独的插件公开。虽然 SpecialCharactersEssentials
插件可用于方便地包含所有类别,但您可以通过添加包含特定类别的单个插件来自定义类别列表。
默认情况下,@ckeditor/ckeditor5-special-characters
包提供以下类别分组的特殊字符。
SpecialCharactersArrows
– 箭头特殊字符。SpecialCharactersCurrency
– 货币特殊字符。SpecialCharactersLatin
– 拉丁文特殊字符。SpecialCharactersMathematical
– 数学特殊字符。SpecialCharactersText
– 文本特殊字符。SpecialCharactersEssentials
– 结合了上面列出的插件。
例如,您可以通过选择 SpecialCharactersMathematical
和 SpecialCharactersCurrency
插件来将类别限制为“数学”和“货币”。
import { ClassicEditor, SpecialCharacters, SpecialCharactersCurrency, SpecialCharactersMathematical } from 'ckeditor5';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [
SpecialCharacters, SpecialCharactersCurrency, SpecialCharactersMathematical,
// More plugins.
// ...
],
toolbar: [ 'specialCharacters', /* ... */ ],
} )
.then( /* ... */ )
.catch( /* ... */ );
下面您可以看到一个基于上面示例的演示。单击特殊字符工具栏按钮
后,您会发现与本页上的其他编辑器相比,它包含的类别更少。欧元外汇参考汇率
截至 2020 年 2 月 10 日
所有货币均以欧元 (€) 为基准货币进行报价
- 货币:美元,符号:$,现货:1.0951
- 货币:英镑,符号:£,现货:0.8463
- 货币:印度卢比,符号:₹,现货:78.1070
- 货币:日元,符号:¥,现货:120.1800
- 货币:俄罗斯卢布,符号:₽,现货:70.1120
- 货币:土耳其里拉,符号:₺,现货:6.5897
# 类别排序
UI 中类别的顺序由它们注册的顺序决定。但是,根据您使用编辑器的上下文,您可能希望更改此顺序,以便更容易访问常用字符。
可以使用 order
数组自定义类别顺序。
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ SpecialCharacters, SpecialCharactersEssentials, ... ],
specialCharacters: {
order: [
'Text',
'Latin',
'Mathematical',
'Currency',
'Arrows'
]
}
} )
.then( /* ... */ )
.catch( /* ... */ );
# 通用 API
SpecialCharacters
插件注册 UI 按钮组件 ('specialCharacters'
)。
我们建议使用官方 CKEditor 5 检查器 进行开发和调试。它将为您提供有关编辑器状态的大量有用信息,例如内部数据结构、选择、命令等等。
# 贡献
该功能的源代码可在 GitHub 上的 https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-special-characters 中找到。
我们每天都在努力使我们的文档保持完整。您是否发现了过时信息?是否缺少内容?请通过我们的 问题追踪器 报告。
随着 42.0.0 版本的发布,我们重新编写了大部分文档以反映新的导入路径和功能。我们感谢您的反馈,以帮助我们确保其准确性和完整性。