« See all

CKEditor 5 v27.1.0 with table and block quote nesting

CKEditor 5 v27.1.0 with table and block quote nesting

The newest version of CKEditor 5 is here with both new and extended features. The table nesting functionality makes using tables even more powerful than before. Legacy support has been introduced for the deprecated HTML align attribute. Nested block quotes are now properly read when loading pre-existing content as well. All of that is aimed at greater backward compatibility and support for older, HTML4 formatted content that may still be generated by some software, like email applications. Together with some minor breaking changes, this version helps bridge the past with modernity.

# New rich text editor features

CKEditor 5 version 27.1.0 has just been released with minor breaking changes, new features and bug fixes. User-awaited support for nesting tables into other tables’ cells is here as well as the ability to nest block quotes into other block quotes.

The newest WYSIWYG editor version also allows for loading content with the deprecated align attribute originating from the earlier versions of HTML. It will be properly handled and converted into modern formatting upon load.

We are looking forward to your feedback on these changes. Comments, recommendations, and bug reports help us concentrate on the development of functions and features that are the most important for our users.

Find out more about the new rich text editor features and make sure to check out the demos and documentation that accompany them.

# Support for nested tables

As of version 27.1.0 CKEditor 5 supports nesting tables inside other tables’ cells, a feature that has been awaited by the community with considerate anticipation. Nested tables may be used in numerous places to present elaborate data sets. You would expect them in scientific papers, sales reports, hobbyist charts or even email footers in legacy applications, where they would hold images and text together.

Nesting a table into another table to create an advanced presentation of data in CKEditor 5 WYSIWYG editor. All formatting is applied just like with the parent table.
Nesting a table into another table to create an advanced presentation of data in CKEditor 5 WYSIWYG editor. All formatting is applied just like with the parent table.

Visit the table feature guide to see a working demo of nested tables. If you would like to disable this functionality for whatever reason, there is also a handy guide on doing so.

# Nested block quotes

Just like nested tables would be useful in reports, the nested block quotes functionality is prominently used in email messages to nest and structure multiple answers and quotes. Without it, the mail exchange would turn into a chaotic stream of statements with their authors sometimes impossible to discriminate. The same kind of functionality is used, for example, in online forums or messaging applications, where the users would often refer to some previous post.

Coming with this version, CKEditor 5 will now properly display nested block quotes. Support for nested block quotes is provided as backward compatibility for loading pre-existing content, for example created in CKEditor 4.

Nested block quotes in an email exchange in CKEditor 5 WYSIWYG editor window.
Nested block quotes in an email exchange in CKEditor 5 WYSIWYG editor window.

There is also basic support for nesting a block quote into another block quote via the drag and drop feature or by pasting. Refer to the block quote feature guide to test it. Same as with the nested tables, if you would like to revert to the previous approach and disallow nesting block quotes, it is possible to achieve via a schema rule.

# Legacy support for the align attribute

The align attribute originates from older HTML specifications and was used to set the alignment of an object (an image, text part or other) toward the surrounding content. It is now obsolete and has been dropped with the HTML5 specification, but is often still used and is also present in older content.

CKEditor 5 now supports handling of this attribute properly. If content using align for formatting is loaded into the editor, the attribute will be properly read and converted into a modern format, using CSS classes to set alignment in the resulting output.

Refer to the text alignment feature guide to learn more about using and customizing alignment options in CKEditor 5 as well as try it out in the demo.

# Other improvements

Besides new features, we have also worked on some important improvements. These include, but are not limited to:

# New block filler modes

As of version 27.1.0, we have introduced a new block filler mode called markedNbsp in the DOM converter as well as the HTML, XML and Markdown data processors .

If the processor is set to use marked fillers, it will insert non-breaking space fillers wrapped in spans (<span data-cke-filler="true">&nbsp;</span>), instead of regular non-breaking spaces. This new filler mode allows for more precise handling of block fillers (so they do not leak into the editor content).

This mode may be required by some features and will be turned on by them automatically. To achieve it, the useFillerType() method was introduced in all data processors to switch between using marked and regular &nbsp block fillers.

This is a minor breaking change and classes based on this interface should implement useFillerType() to avoid errors.

# Better upload with additional properties

The newest rich-text editor release has introduced the uploadComplete event in ImageUploadEditing that allows customizing the image element based on the data retrieved from the upload adapter. This may, for example, mean setting custom attributes to the image.

Also the upload() method can now resolve to an object with additional properties along with the urls hash. This may affect all integrations depending on the SimpleUploadAdapter uploading mechanism and hence is a minor breaking change.

# Bug fixes

A few bugs were also fixed to improve the user experience while working with CKEditor 5 WYSIWYG editor:

Please refer to the changelog for more new features, improvements and bug fixes.

# Breaking changes

This release introduces some minor breaking changes as described above. Make sure you check the changelog for more details.

# What’s next?

# Version History

Coming next release is the next big highlight in CKEditor 5 features - Revision History. This new feature will allow for maintaining document version history as well as comparing and restoring versions. Together with Comments and Track Changes, these will allow for a full-fledged editing and reviewing experience comparable with the flexibility and versatility of Google Docs. For both teams and individuals, it will allow for an organized tracking of content creation progress, providing a useful tool of control for specialized content like medical or legal documents and large documents.

Visit the Revision History webpage to learn more.

We keep on constantly improving and adding new features to our software. We keep on working on the inline images feature that will revolutionize how images are handled in CKEditor 5. Table caption support is coming soon, too. Some bug fixes and other improvements are on the line as well, so follow the iteration 43 roadmap for more news and features we have already started working on.

# Download

CKEditor 5 builds can be downloaded from the CDN, npm or as zip packages. Read more in the Installation guide.

# License

CKEditor 5 is available under Open Source and Commercial licenses. Full details can be found on our license page.

# Reporting issues and contributing

You can report all issues for any of the CKEditor 5 packages in the CKEditor 5 repository. Read more in the Reporting issues guide.

# Support

The CKEditor 5 documentation is growing and always up to date. Community support is available through Stack Overflow. Read more in the Getting support guide.

Share this post

Linkedin Reddit
Document version control for any software - CKEditor 5 Revision History
Feature of the month - Spell and grammar check in CKEditor 5