1document.addEventListener("DOMContentLoaded", () => {
2    const textarea = document.querySelector("textarea[name='wikitext']");
3    if (!textarea) return;
4
5    const container = document.createElement("div");
6    container.id = "ckeditor-container";
7    textarea.style.display = "none";
8    textarea.parentNode.insertBefore(container, textarea);
9
10    const script = document.createElement("script");
11    script.src = DOKU_BASE + "lib/plugins/ckeditor5markdown/ckeditor.js";
12    script.onload = () => {
13        ClassicEditor
14        .default
15        .create(container)
16        .then(editor => {
17            window.editor = editor;
18            editor.setData(textarea.value);
19
20            editor.model.document.on("change:data", () => {
21                textarea.value = editor.getData();
22            });
23
24            const form = textarea.closest("form");
25            if (form) {
26                form.addEventListener("submit", () => {
27                    textarea.value = editor.getData();
28                });
29            }
30        })
31        .catch(console.error);
32    };
33
34    document.body.appendChild(script);
35});
36