I just wish WordPress actually adhered to development standards, not actively tried to break them. Using globals everywhere and encouraging spaghetti code with its classic themes, and with its new themes it evidently learned nothing and is encouraging JSON inside HTML comments which obviously has no editor support, is very prone to errors, besides being just plain stupid (like seriously, some senior engineers I assum…
- Comments exist to define a block boundary.
- JSON inside a comment exists to load up user preferences for things that can't be easily parsed from the HTML.
- HTML has to be the final result and representations, and it has to be the source of truth.
- The outcome has to be portable to any other platform or system, you can't move the website tomorrow and get a bunch `[xyz_shortcode]`.
I encourage you to read this post by one of the senior engineers who worked on the project since its inception:
https://lamda.blog/2018/04/22/the-language-of-gutenberg/
The documentation is in itself very expansive and throughout, you should give it a read:
https://developer.wordpress.org/block-editor/explanations/ar...
Gutenberg in itself is a very versatile tool and isn't locked to WordPress btw, you can build your own editor if you want (all JS, no PHP):