Skip to content

Commit 9b120e3

Browse files
committed
Merge branch '61-vite' into 62-vite
2 parents 5212ae7 + 8e0d75e commit 9b120e3

14 files changed

Lines changed: 3351 additions & 1738 deletions

File tree

app.ts

Lines changed: 115 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,97 @@
11
/**
22
* @author Alexander Ebert
3-
* @copyright 2001-2023 WoltLab GmbH
3+
* @copyright 2001-2026 WoltLab GmbH
44
* @license LGPL-2.1-or-later
5-
* @since 6.0
65
*/
76

8-
import { ImageInsertConfig } from "@ckeditor/ckeditor5-image/src/imageconfig";
7+
// These are the core styles of CKEditor5 that must be imported first and in
8+
// this exact order.
9+
import "@ckeditor/ckeditor5-ui/dist/index.css";
10+
import "@ckeditor/ckeditor5-clipboard/dist/index.css";
11+
import "@ckeditor/ckeditor5-core/dist/index.css";
12+
import "@ckeditor/ckeditor5-engine/dist/index.css";
13+
import "@ckeditor/ckeditor5-enter/dist/index.css";
14+
import "@ckeditor/ckeditor5-paragraph/dist/index.css";
15+
import "@ckeditor/ckeditor5-select-all/dist/index.css";
16+
import "@ckeditor/ckeditor5-typing/dist/index.css";
17+
import "@ckeditor/ckeditor5-undo/dist/index.css";
18+
import "@ckeditor/ckeditor5-upload/dist/index.css";
19+
import "@ckeditor/ckeditor5-utils/dist/index.css";
20+
import "@ckeditor/ckeditor5-watchdog/dist/index.css";
21+
import "@ckeditor/ckeditor5-widget/dist/index.css";
22+
23+
// CSS of plugins of CKEditor come first to allow us to customize them with out
24+
// own plugins that are imported through the `modules.ts`.
25+
import "@ckeditor/ckeditor5-alignment/dist/index.css";
26+
import "@ckeditor/ckeditor5-autoformat/dist/index.css";
27+
import "@ckeditor/ckeditor5-autosave/dist/index.css";
28+
import "@ckeditor/ckeditor5-basic-styles/dist/index.css";
29+
import "@ckeditor/ckeditor5-block-quote/dist/index.css";
30+
import "@ckeditor/ckeditor5-code-block/dist/index.css";
31+
import "@ckeditor/ckeditor5-editor-classic/dist/index.css";
32+
import "@ckeditor/ckeditor5-emoji/dist/index.css";
33+
import "@ckeditor/ckeditor5-essentials/dist/index.css";
34+
import "@ckeditor/ckeditor5-font/dist/index.css";
35+
import "@ckeditor/ckeditor5-heading/dist/index.css";
36+
import "@ckeditor/ckeditor5-highlight/dist/index.css";
37+
import "@ckeditor/ckeditor5-horizontal-line/dist/index.css";
38+
import "@ckeditor/ckeditor5-html-embed/dist/index.css";
39+
import "@ckeditor/ckeditor5-icons/dist/index.css";
40+
import "@ckeditor/ckeditor5-image/dist/index.css";
41+
import "@ckeditor/ckeditor5-link/dist/index.css";
42+
import "@ckeditor/ckeditor5-list/dist/index.css";
43+
import "@ckeditor/ckeditor5-markdown-gfm/dist/index.css";
44+
import "@ckeditor/ckeditor5-mention/dist/index.css";
45+
import "@ckeditor/ckeditor5-paste-from-office/dist/index.css";
46+
import "@ckeditor/ckeditor5-remove-format/dist/index.css";
47+
import "@ckeditor/ckeditor5-restricted-editing/dist/index.css";
48+
import "@ckeditor/ckeditor5-style/dist/index.css";
49+
import "@ckeditor/ckeditor5-table/dist/index.css";
50+
951
import {
1052
Alignment,
1153
Autoformat,
1254
Autosave,
13-
BasicStyles,
1455
BlockQuote,
56+
Bold,
1557
ClassicEditor,
58+
Code,
1659
CodeBlock,
17-
Core,
60+
EditorConfig,
1861
Essentials,
19-
Font,
62+
FontColor,
63+
FontFamily,
64+
FontSize,
2065
Heading,
2166
Highlight,
2267
HorizontalLine,
2368
HtmlEmbed,
24-
Icons,
69+
IconObjectLeft,
2570
Image,
71+
ImageInsertConfig,
72+
ImageInsertUI,
73+
ImageInsertViaUrl,
74+
ImageResizeEditing,
75+
ImageResizeHandles,
76+
ImageStyle,
77+
ImageToolbar,
78+
ImageUpload,
79+
ImageUploadUI,
2680
Indent,
81+
Italic,
2782
Link,
83+
LinkImage,
2884
List,
2985
Mention,
3086
Paragraph,
3187
PasteFromOffice,
3288
RemoveFormat,
89+
Strikethrough,
90+
Subscript,
91+
Superscript,
3392
Table,
93+
TableToolbar,
94+
Underline,
3495
Undo,
3596
Emoji,
3697
WoltlabAttachment,
@@ -54,54 +115,54 @@ import {
54115
WoltlabUpload,
55116
} from "./modules";
56117

57-
const defaultConfig: Core.EditorConfig = {
118+
const defaultConfig: EditorConfig = {
58119
plugins: [
59120
// Internals
60-
Autosave.Autosave,
61-
Essentials.Essentials,
62-
Indent.Indent,
63-
Mention.Mention,
64-
Paragraph.Paragraph,
65-
PasteFromOffice.PasteFromOffice,
66-
Undo.Undo,
67-
Emoji.Emoji,
121+
Autosave,
122+
Essentials,
123+
Indent,
124+
Mention,
125+
Paragraph,
126+
PasteFromOffice,
127+
Undo,
128+
Emoji,
68129

69130
// Formatting
70-
Alignment.Alignment,
71-
Autoformat.Autoformat,
72-
BasicStyles.Bold,
73-
BasicStyles.Code,
74-
Font.FontColor,
75-
Font.FontFamily,
76-
Font.FontSize,
77-
Heading.Heading,
78-
Highlight.Highlight,
79-
BasicStyles.Italic,
80-
RemoveFormat.RemoveFormat,
81-
BasicStyles.Strikethrough,
82-
BasicStyles.Subscript,
83-
BasicStyles.Superscript,
84-
BasicStyles.Underline,
131+
Alignment,
132+
Autoformat,
133+
Bold,
134+
Code,
135+
FontColor,
136+
FontFamily,
137+
FontSize,
138+
Heading,
139+
Highlight,
140+
Italic,
141+
RemoveFormat,
142+
Strikethrough,
143+
Subscript,
144+
Superscript,
145+
Underline,
85146

86147
// Components
87-
BlockQuote.BlockQuote,
88-
CodeBlock.CodeBlock,
89-
HtmlEmbed.HtmlEmbed,
90-
HorizontalLine.HorizontalLine,
91-
Image.Image,
92-
Image.ImageInsertUI,
93-
Image.ImageInsertViaUrl,
94-
Image.ImageToolbar,
95-
Image.ImageResizeEditing,
96-
Image.ImageResizeHandles,
97-
Image.ImageStyle,
98-
Image.ImageUpload,
99-
Image.ImageUploadUI,
100-
Link.Link,
101-
Link.LinkImage,
102-
List.List,
103-
Table.Table,
104-
Table.TableToolbar,
148+
BlockQuote,
149+
CodeBlock,
150+
HtmlEmbed,
151+
HorizontalLine,
152+
Image,
153+
ImageInsertUI,
154+
ImageInsertViaUrl,
155+
ImageToolbar,
156+
ImageResizeEditing,
157+
ImageResizeHandles,
158+
ImageStyle,
159+
ImageUpload,
160+
ImageUploadUI,
161+
Link,
162+
LinkImage,
163+
List,
164+
Table,
165+
TableToolbar,
105166

106167
// WoltLab
107168
WoltlabAttachment.WoltlabAttachment,
@@ -128,9 +189,10 @@ const defaultConfig: Core.EditorConfig = {
128189

129190
export async function create(
130191
element: HTMLElement,
131-
configuration: Core.EditorConfig,
132-
): Promise<ClassicEditor.ClassicEditor> {
192+
configuration: EditorConfig,
193+
): Promise<ClassicEditor> {
133194
configuration = Object.assign(configuration, defaultConfig);
195+
configuration.attachTo = element;
134196

135197
const removePlugins = configuration.removePlugins || [];
136198
if (!removePlugins.includes("Image")) {
@@ -157,7 +219,7 @@ export async function create(
157219
{
158220
name: "sideLeft",
159221
title: "Left aligned image",
160-
icon: Icons.IconObjectLeft,
222+
icon: IconObjectLeft,
161223
modelElements: ["imageBlock"],
162224
className: "image-style-side-left",
163225
},
@@ -178,10 +240,7 @@ export async function create(
178240
};
179241
}
180242

181-
const editor = await ClassicEditor.ClassicEditor.create(
182-
element,
183-
configuration,
184-
);
243+
const editor = await ClassicEditor.create(configuration);
185244

186245
return editor;
187246
}

modules.ts

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,4 @@
1-
export * as Alignment from "@ckeditor/ckeditor5-alignment";
2-
export * as Autoformat from "@ckeditor/ckeditor5-autoformat";
3-
export * as Autosave from "@ckeditor/ckeditor5-autosave";
4-
export * as BasicStyles from "@ckeditor/ckeditor5-basic-styles";
5-
export * as BlockQuote from "@ckeditor/ckeditor5-block-quote";
6-
export * as ClassicEditor from "@ckeditor/ckeditor5-editor-classic";
7-
export * as Clipboard from "@ckeditor/ckeditor5-clipboard";
8-
export * as CodeBlock from "@ckeditor/ckeditor5-code-block";
9-
export * as Core from "@ckeditor/ckeditor5-core";
10-
export * as Editor from "@ckeditor/ckeditor5-editor-classic";
11-
export * as Engine from "@ckeditor/ckeditor5-engine";
12-
export * as Enter from "@ckeditor/ckeditor5-enter";
13-
export * as Essentials from "@ckeditor/ckeditor5-essentials";
14-
export * as Font from "@ckeditor/ckeditor5-font";
15-
export * as Heading from "@ckeditor/ckeditor5-heading";
16-
export * as Highlight from "@ckeditor/ckeditor5-highlight";
17-
export * as HorizontalLine from "@ckeditor/ckeditor5-horizontal-line";
18-
export * as HtmlEmbed from "@ckeditor/ckeditor5-html-embed";
19-
export * as Icons from "@ckeditor/ckeditor5-icons";
20-
export * as Image from "@ckeditor/ckeditor5-image";
21-
export * as Indent from "@ckeditor/ckeditor5-indent";
22-
export * as Language from "@ckeditor/ckeditor5-language";
23-
export * as Link from "@ckeditor/ckeditor5-link";
24-
export * as List from "@ckeditor/ckeditor5-list";
25-
export * as Mention from "@ckeditor/ckeditor5-mention";
26-
export * as Paragraph from "@ckeditor/ckeditor5-paragraph";
27-
export * as PasteFromOffice from "@ckeditor/ckeditor5-paste-from-office";
28-
export * as RemoveFormat from "@ckeditor/ckeditor5-remove-format";
29-
export * as SelectAll from "@ckeditor/ckeditor5-select-all";
30-
export * as Table from "@ckeditor/ckeditor5-table";
31-
export * as Typing from "@ckeditor/ckeditor5-typing";
32-
export * as Ui from "@ckeditor/ckeditor5-ui";
33-
export * as Undo from "@ckeditor/ckeditor5-undo";
34-
export * as Upload from "@ckeditor/ckeditor5-upload";
35-
export * as Utils from "@ckeditor/ckeditor5-utils";
36-
export * as Widget from "@ckeditor/ckeditor5-widget";
37-
export * as Emoji from "@ckeditor/ckeditor5-emoji";
1+
export * from "ckeditor5";
382

393
export * as WoltlabAttachment from "./plugins/ckeditor5-woltlab-attachment/src";
404
export * as WoltlabAutoLink from "./plugins/ckeditor5-woltlab-autolink/src";

0 commit comments

Comments
 (0)