tomusborne / generatepress

451 stars 89 forks source link

Customize navigation with Gutenberg. #412

Open SchneiderSam opened 2 years ago

SchneiderSam commented 2 years ago

I know that the navigation functionality has been around for a long time and Gutenberg's navigation is just in its infancy. But still, I want to record this here as a feature request: As a user, I would like to see a more modern handling of the navigation. This is currently in GP very cumbersome and partly missing important functions (positioning of elements such as shopping cart, search box, MegaMenu, better styling and individual positioning in the header,...).

Other developers like Kadence have built in their own drag and drop-editor: https://www.kadencewp.com/kadence-theme/knowledge-base/header/how-to-customize-the-kadence-header/ This is much easier to understand, but I don't think this is future oriented. Gutenberg is much more future-proof.

This is where numerous questions arise, of course:

I realize this will probably take a while, but as a good WordPress theme, we should keep an eye on it. The stronger Gutenberg and the FSE themes become, the more important such issues will become.

Some interesting stuff: https://make.wordpress.org/core/2022/01/07/the-new-navigation-block/

Your loyal user and fan :)

Samuel

JeanPaiva commented 2 years ago

Hey @SchneiderSam we already had some internal discussions about developing a navigation builder, it would be great to have something integrated in our ecosystem (GP and GB) but currently our priority is to prepare the GP for the future and also improve GB with more features related to Query loop.

I'll be keeping this feature request in the backlog as we may have to build something for the future of FSE. Thanks Sam.

SchneiderSam commented 2 years ago

@JeanPaiva That sounds great already.

developing a navigation builder

I hope you are planning something with Gutenberg and not something separate like Kadence. I don't think that would make sense if the whole wordpress ecosystem is already going for blocks. I as a user would like to see a clean connection to Gutenberg and not something separate again.

our priority is to prepare the GP for the future

So also FSE? That would be very cool, if that would work in the long run and that is cleanly integrated.

Thanks for your amazing work!

SchneiderSam commented 2 years ago

Interesting stuff: https://youtu.be/htXqqOQOzPo

DiametricLLC commented 2 years ago

Interesting stuff: https://youtu.be/htXqqOQOzPo

This is indeed interesting. I wonder if any of this can be pulled off with the GP/GB tools and a little bit of love lol

also improve GB with more features related to Query loop.

Maybe the query loop used in an interesting way to pull mega menu tabs? Perhaps an odd way to think about it, but the concepts don't seem entirely unrelated.

SchneiderSam commented 2 years ago

@JeanPaiva i found some more inspiration, for this topic: https://gutenverse.com/nav-menu-blocks/

and i think, this topic is related to the navigation: https://github.com/tomusborne/generatepress/issues/430

a4jp-com commented 1 year ago

I think the current mobile menu needs a lot of work. Even just starting with adding simple setting updates in the meantime would be good. Like text align on the mobile menu separate from the main menus. Also animations for the cross/hamburger. Your current hook names also need to be clearer. It's difficult to tell what does what with some actions now. I should do a push request with some updates.

SchneiderSam commented 1 year ago

@JeanPaiva https://github.com/WordPress/gutenberg/labels/%5BBlock%5D%20Navigation They are working hard here. I am too inexperienced, but would it not be possible to adapt the core navigation for 'your purposes'? Or would a custom solution make more sense?

JeanPaiva commented 1 year ago

Hey, @SchneiderSam the problem with using core blocks is that they change their code very frequently, they use a bunch of __experimental functionalities, and they do not make it easy to extend their blocks apart from creating a block variation. The idea of core blocks is to be simple. This would definitely require a new block development to create something really good and we have to keep in mind that core is developing all these new features targeting block themes not necessarily "classic" themes like GP.

SchneiderSam commented 8 months ago

@iansvo and @tomusborne some cool Stuff: