Great article Justin, and I couldn't agree more for blocks published for others to use.

I would be curious however, to hear your thoughts on how you think this should work when it comes to custom built solutions. One of the biggest complains I have with Gutenberg when it comes to more complex layouts is separating the page structure from content.

For simple pages, I make use of most of the core blocks. On more advanced pages however, the homepage being a common one, I find it's easier to create custom blocks using Advanced Custom Fields for each section/row of the page so the client doesn't have to worry about the visual/UX side of things.

I normally batch these blocks into the custom theme I've built, which I don't personally like as I know content would be lost should the client ever change a theme. I always try to explain this to the client before starting work so they're never caught out.

My problem is these blocks are often so specific and design heavy that they would probably look odd if used out of context with a different theme. It's a problem I struggle to find an answer to every time I build a new block.

I'd love to hear your thoughts on this.

Jack