How to let content editors use pre-defined block-like content?

In wordpress (gutenberg), content editors can choose some kind of pre-defined blocks to their content. If I have content editors, that can create new nodes, I want them to be able to add such blocks into their content, but in a more drupal like way.

Let’s say, the editor wants to create an article and wants to add a quote, a picture with a description or a Video with a description. I would assume, that I could create custom block types for these, to have the required fields and to create a design for these blocks.

But:

  • The editor should be able to create one or more of these blocks, preferrably on the page that they’re editing.
  • And they should be able to place these peaces of content anywhere in their content.

An example would be an outstanding quote, that could be placed anywhere in the text, but not by creating/designing it at that place in the text, where it makes sense content-wise, but without having to design it, using the text editor itself.

Best case: They could even be able to chose whether they place it within the text in a big version or in a sidebar in a smaller version.

My problem:

  • If it’s a custom block type, how can I assign only a defined set of these to a certain content type? This only works with fields, does it?
  • How can I add them to the editor form without cluttering it with forms for all possible types?