In the Editor field it was possible to hit enter anywhere in a text, then the new line immediately became a new block. I could just continue writing in a new paragraph or change the type to image, for example, and insert an image. This was very intuitive and made it easy to write a blog ppost directly in Kirby. Also, it was easy to remember especially for clients.
I understand the advantages of having headines etc. as separate blocks, but then I think, every paragraph should also be a separate block. This would be an easy to understand mental model. Hitting enter creates a new block, hitting shift + enter creates a new line in the same block (For those how need a <br>).
In contrast to this, currently in the new block field, if I want to insert an image I have to:
• go into an existing block of text, a few paragraphs
• cut out the text that should follow the image
• create a new text block
• paste the text
• create the new image field above that text
• done
If I want to put this image a paragraph higher, I have to repeat these steps. Not only complicated but also, this creates two types of text blocks: Those with a single paragraph in it and those with mulitple paragraphs.
Hard to grasp for clients/authors and inconvinient for editing latr on.
Just for reference, since this suggestion appears to be related: there’s also an active issue on the Kirby repo regarding keyboard shortcuts for blocks. https://github.com/getkirby/kirby/issues/3010
Yes, this would be a step in the right direction.
I really miss this feature as editing content is currently not as easy as it might be (see Christophs example). Notion or other online editors have the desired behaviour and I would be happy to get it for Kirby as well :)
Yup, the block editor could have better UX. Things I miss:
(+)
button in the top and bottom edges.Is it possible to release this as a plugin if it doesn’t get added to the core?
This will be possible in text blocks in v4. Either natively on Cmd + Enter
(= splitting block at cursor position, which will also create a new empty block when cursor at end of block) or with something like this
myBlocks:
type: blocks
fieldsets:
text:
fields:
text:
type: writer
inline: true
also directly with just Enter
(the inline: true
here is what turns that around).