ck-editor5的研究 (7):自定义配置 CKeditor5 的 toolbar 工具栏

article/2025/6/5 20:28:43

文章目录

  • 一、前言
  • 二、实现步骤
    • 1. 第一步: 搭建目录结构
    • 2. 第二步:配置toolbar工具栏的步骤
      • (2-1). 配置粗体和斜体
      • (2-2). 配置链接和标题+正文
      • (2-3). 配置列表和引用
      • (2-4). 配置自动格式化
    • 3. 第三步:更多工具
  • 三、测试效果和细节
  • 四、总结


一、前言

在前面的文章中,我们已经对 CKEditor5 有了一定的熟悉,从这篇文章开始,我们将对 CKEditor5 进行配置化——自定义 toolbar 工具栏。

实现的效果图大致如下:
在这里插入图片描述


二、实现步骤

CKEditor5 的所有功能都是通过插件实现的,不配置插件,编辑器就是一具空壳,什么也做不了。在 37.1.0 版本中,每一个依赖包,就是一个插件:在这里插入图片描述
有些插件是包含了多个工的, 比如 @ckeditor/ckeditor5-basic-styles 包含了 Bold(粗体), Italic(斜体)。
有些插件是相互依赖的,可能需要安装多个包,比如缩进功能。

1. 第一步: 搭建目录结构

仍然跟之前一样,一个 ts 文件,一个 vue 组件,一个 demo6/index.vue 测试页面
在这里插入图片描述
接下来我们的侧重点会在 ckeditor6.ts 这个文件中

2. 第二步:配置toolbar工具栏的步骤

要想配置 toolbar 工具栏,总共分成4步:

  1. 安装对应的依赖包,这里有查找依赖包的方法 如何找到某项功能的依赖包
  2. 导入依赖包的功能,如: import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
  3. 设置到插件中
  4. 配置 toolbar 属性

我们一步一步来看,首先看到现在的编辑器:
在这里插入图片描述

(2-1). 配置粗体和斜体

使用 @ckeditor/ckeditor5-basic-styles 这个包的详细步骤如下:
在这里插入图片描述

(2-2). 配置链接和标题+正文

使用 @ckeditor/ckeditor5-link@ckeditor/ckeditor5-heading
在这里插入图片描述

(2-3). 配置列表和引用

使用 @ckeditor/ckeditor5-list@ckeditor/ckeditor5-block-quote
在这里插入图片描述

(2-4). 配置自动格式化

使用 @ckeditor/ckeditor5-autoformat ,这个插件比较特殊,它不需要配置 toolbar,它是用来触发类似 md 文档的自动格式化功能的,可以查看演示:
在这里插入图片描述
经过前面的4个例子,后续我们只要依葫芦画瓢即可,按照4个步骤:安装包、引入插件、使用插件、配置toolbar工具栏。

3. 第三步:更多工具

如果想要寻找更多功能,只需要找这个 功能表 即可。
这里我尽可能引入多的功能进来,以下是我的代码:

import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { Essentials } from '@ckeditor/ckeditor5-essentials';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import { Bold, Italic, Underline, Strikethrough, Code, Subscript, Superscript } from '@ckeditor/ckeditor5-basic-styles';
import { Link } from '@ckeditor/ckeditor5-link';
import { Heading } from '@ckeditor/ckeditor5-heading';
import { List }

http://www.hkcw.cn/article/XcLVbuAUAQ.shtml

相关文章

Skydel25.4发布:解锁自定义星座,增强C波段与干扰模拟能力

在GNSS模拟技术持续迭代的浪潮中,Skydel迈出创新一步,正式发布25.4.0版本及后续修复版本25.4.1。本次更新的核心突破在于引入了强大的自定义星座功能,赋予用户前所未有的自由度,可创建包含多达400颗卫星的专属星座,突破…

迅为RK3588开发板RKLLM-Toolkit 环境搭建安装 Miniconda

Conda 是一个开源的软件包管理系统和环境管理系统,它可以用于安装、管理和升级软件 包和依赖项,我们这里使用conda 的目的只是构建一个虚拟环境,所以选择轻量话的miniconda。 miniconda 的官方链接如下所示: 进入 miniconda 的…

Oracle双平面适用场景讨论会议

4月28日,我在杭州组织召开了Oracle双平面会议讨论沙龙。在国产化数据库浪潮的今天,Oracle数据库作为国产数据库的应急库,在国产数据库发生故障或者性能下降时,如何更好的使用Oracle。会议主题如下: 1、背景与痛点速览&…

tauri项目绕开plugin-shell直接调用可执行文件并携带任意参数

tauri项目的plugin-shell插件的要求太多了,用起来实在是不顺手,要求参数要求位置等,不行不行,客户要求可以在前端输入任意命令行参数并执行,哪怕是rm -rf都要无条件执行,好好好,满足你。 我们直…

AJ-Report

目录 AJ-Report是什么 CNVD-2024-15077(AJ-Report认证绕过和远程代码执行漏洞) AJ-Report是什么 AJ-Report是完全开源的BI(Business intelligence)平台,旨在帮助用户生成和管理各种类型的报表。它通常用于web应用中,用于分析和展示数据,常用于…

Rust 函数

文章目录 Rust 函数函数参数语句与表达式带返回值的函数代码示例 Rust 函数 函数 函数在 Rust 代码中非常常见。你已经见过了语言中最重要的函数之一:main 函数,它是许多程序的入口点。你还见过 fn 关键字,它允许你声明新的函数。 Rust 代码…

【Typst】3.Typst脚本语法

概述 Typst的核心就是它在标记语法的基础上提供了一个灵活强大的脚本语言,来支持复杂的排版操作。 本节就以一个脚本语言的角度,介绍一下Typst脚本的核心语法。 系列目录 1.Typst概述2.Typst标记语法和基础样式3.Typst脚本语法4.导入、包含和读取5.文…

Java 文件操作 和 IO(5)-- 综合案例练习 -- 示例三

文章目录 题目描述:扫描指定目录,并找到文件名称或文件内容中包含指定字符的所有普通文件(不包含目录)结果案例演示:设计思路:总体的思路:使用代码,分步实现1. 准备工作(…

微深节能 筒仓卸料小车远程智能控制系统 格雷母线

微深节能筒仓卸料小车远程智能控制系统——格雷母线高精度定位解决方案 在现代化筒仓物料管理中,卸料小车的精准定位与远程控制是提升效率、保障安全的关键。武汉市微深节能科技有限公司推出的格雷母线高精度位移测量系统,为筒仓卸料小车提供远程智能控…

股票指数期货的变动与股票价格指数的关系是什么?

很多小伙伴刚接触金融投资的时候,常常会听到“股票指数期货”和“股票价格指数”这两个词,但搞不清楚它们之间的关系。今天,我就给大家讲讲,这两个东西到底是什么关系。 一、股票价格指数是个什么? 股票价格指数&…

2025LitCTF re wp复现

LitCTF2025 wp&&复现 easy_rc4 魔改RC4,直接在异或处下条件断点,动调获取密钥流 FeatureExtraction 定位到main 前面都是一些初始化函数以及把输入的char型字符串转成int型数据 关键加密在sub_401722(Block, des) 加密逻辑就是 unsigned in…

Lovable + Cursor:零基础搭建专业应用的秘密武器

🚀 Lovable + Cursor:零基础搭建专业应用的秘密武器 为什么你需要这个工作流? 想象一下这样的场景:你用Lovable快速搭建了一个漂亮的网页原型,但当你想要添加更复杂的功能时,却发现自己被限制住了。或者你在Cursor里写代码很顺手,但每次从零开始设计界面都让你头疼不…

ARM GIC V3概述

中断类型 locality- specific peripheral interrupt(LPI):LPI是一个有针对性的外设中断,通过affinity路由到特定的PE。 为非安全group1中断边沿触发可以通过its进行路由没有active状态,所以不需要明确的停用操作LPI总…

Docker部署与应用、指令

部署 【Docker】在 Ubuntu 22.04 以下版本上安装 Docker 的详细指南_ubuntu 安装docker-CSDN博客 应用 使用指定镜像创建并运行一个新容器 --name,指定容器名称 -d 代表后台运行 nginx 代表容器镜像名 docker ps 查看运行的容器 -a 查看…

内网横向之RDP缓存利用

RDP(远程桌面协议)在连接过程中会缓存凭据,尤其是在启用了 "保存密码" 或 "凭据管理器" 功能时。这个缓存的凭据通常是用于自动填充和简化后续连接的过程。凭据一般包含了用户的用户名和密码信息,或者是经过加…

从计量到通信,DJSF1352-D为快充桩系统提供了怎样的解决方案?

摘要 随着新能源汽车保有量的不断攀升,直流充电桩成为城市交通与能源基础设施的重要组成部分。电能计量作为充电桩运营、结算和安全管理的核心环节,对计量设备提出了更高的要求。安科瑞DJSF1352D导轨式直流电能表,凭借高精度、高稳定性和通信…

0518蚂蚁暑期实习上机考试题1:数组操作

题目 小红认为一个长度为 n 的数组 a 是好的,当且仅当对于任意的 i ,均满足相等,其中数组下标 i 从 1 开始,小红每次可以对一个数加 1 或者减 1 ,求把给定的数组变成好数组的最少操作次数。 输入描述:第一…

深入对比主流Java Web服务器与框架

目录 一、核心技术对比概览 二、深度解析与应用场景 1. Apache Tomcat - 企业级标准容器 2. Netty - 高性能网络编程框架 3. Undertow - 轻量级嵌入式服务器 4. Vert.x - 响应式应用框架 5. Play Framework - 全栈Web框架 三、性能基准测试对比(参考数据&am…

晶台光耦在手机PD快充上的应用

光耦(光电隔离器)作为关键电子元件,在手机PD快充中扮演信号隔离与传输的“安全卫士”。其通过光信号实现电气隔离,保护手机电路免受高电压损害,同时支持实时信号反馈,优化充电效率。 晶台品牌推出KL817、KL…