Factsheet
Videos
django - Compare TinyMCE and CKeditor for a Wiki - Stack Overflow
Implementing alternative rich text editor to CKEditor 5 in commercial environment
ckeditor5 - How can I use a custom build of CKEditor 5 with React and Vite? - Stack Overflow
Is it possible to enable CKEditor for an article summary in Drupal 8?
That is an interesting idea. I have never heard of anyone trying that.
I suppose you could create your own field type by extending the text with summary field type and adding in support for a WYSIWYG summary
More on reddit.comI spent some time implementing CKEditor in the last couple days. I've implemented TinyMCE in the past as well. On the positive, it's far more consistent and bug-free than TinyMCE... by which I mean, where TinyMCE "feels" buggy, CKEditor has worked around awkward browser behavior to a much greater degree, making it "feel" much more solid. On the negative, if you want to extend it, the documentation is relatively sparse. I think this is mostly because CKEditor is relatively new (its API is very different from FCKEditor), and it would be reasonable to expect the CK 3.0 documentation to reach at least the quality of the FCK 2.0 docs soon.
I've been using both editors since some years ago... Almost always I've chosen CKeditor over TinyMCE.
The reason?
Short answer:
CKEditor is very stable and very easy to use and has integrated the file manager (with an ad, but it is no problem for me), but TinyCE has not any integrated File manager.
Nevertheless, I like JCE editor (for Joomla), this editor is based on TinyMCE and works like a charm. It has a very good implementation of File management.
If you plan to use a WYSIWYG editor for a wiki, any of them are ok, because you don't need a filemanager (I think).
However, I recommend you, based in my experience, CKeditor.
The long answer is very long for this space. If you want the long answer, contact me or google around about this topic.
The cost of CKEditor 5 in a commercial environment is eyewatering. What alternative rich text editors have you installed?
Our use case is that for our users we only require a very basic editor - something that allows them to respond to questions with simply formatted rich text blocks. We are not using it for layout or page design, but basically just as a response form. There is no need for any significantly advanced features such as AI prompts or collaboration. However, we do have several hundreds of users a day who would need to use the editor.
Using CK Editor 5 professional license in a commercial environment would cost $5400 per year, which is simply unaffordable, and probably we would need a more expensive enterprise license to cover the number of 'editor loads' that we would require.
So my question is twofold - does anyone have any recommendations for an alternative to CK Editor that they have inplemented in Drupal, and I suppose, secondly, am I trying to crack a nut with a sledgehammer?!
Thanks in advance for any suggestions!
ยป npm install @ckeditor/ckeditor5-react
In my case it:
"react": "18.2.0", "vite": "2.9.10",
Here is the solution that I found:
package.json
"ckeditor5-custom-build": "file:libs/ckeditor5",
vite.config.ts
export default defineConfig(() => {
return {
plugins: [react()],
optimizeDeps: {
include: ['ckeditor5-custom-build'],
},
build: {
commonjsOptions: { exclude: ['ckeditor5-custom-build'], include: [] },
},
};
});
RichTextEditor.tsx
import { CKEditor, CKEditorProps } from '@ckeditor/ckeditor5-react';
import Editor from 'ckeditor5-custom-build';
export function RichTextEditor({
defaultValue,
...props
}: RichTextEditorProps) {
return (
<EditorContainer>
<CKEditor editor={Editor} data={defaultValue || ''} {...props} />
</EditorContainer>
);
}
Update for vite 4.4.8:
"vite": "4.4.8",
vite.config.ts
import commonjs from "vite-plugin-commonjs";
export default defineConfig(() => {
return {
plugins: [
react(),
commonjs({
filter(id) {
if (["libs/ckeditor5/build/ckeditor.js"].includes(id)) {
return true;
}
},
}),
],
optimizeDeps: {
include: ["ckeditor5-custom-build"],
},
build: {
commonjsOptions: { exclude: ["ckeditor5-custom-build"] },
},
};
});
You can fix the CKeditor 5 custom build by going to the folder containing CKeditor5.
webpack.config.js
Delete:
output: {
// The name under which the editor will be exported.
library: 'ClassicEditor',
path: path.resolve(__dirname, 'build'),
filename: 'ckeditor.js',
libraryTarget: 'umd',
libraryExport: 'default',
}
Add:
output: {
path: path.resolve(__dirname, 'build'),
filename: 'ckeditor.js',
library: {
type: 'module',
},
},
experiments: {
outputModule: true,
}