gocodebox / lifterlms-lib-tasks

gulp tasks and node utilities for LifterLMS and LifterLMS add-on development
1 stars 1 forks source link

Add workflows for gutenberg blocks #3

Closed thomasplevy closed 5 years ago

thomasplevy commented 5 years ago

babel / webpack / esnext / jsx etc...

AndreaBarghigiani commented 5 years ago

I am experimenting with Gutenberg started by studying the course of Zac Gordon and found simple and useful at the same time its starter repository.

I know there are some other ways to start a Gutenberg plugin like create-guten-block but I think it is simplyer customize the code from the first one.

Can I help you up with something?

thomasplevy commented 5 years ago

@AndreaBarghigiani yes! Of course

If I'm being really honest I kind of want to work on this myself so I ensure that I fully understand it but if you can figure it all out and integrate it into the current lib contribute away. I'd be stoked to have it solved as it's currently looking like I wont get some availability for this for at least another week or so.

Thanks

AndreaBarghigiani commented 5 years ago

I had a look but I have to admit that you have an advanced configuration here and probably I have to study better your code to understand the logic behind it.

Why don't you jump on zoom and make a webinar and talk out loud your process, maybe we can help you out with some knowledge about how Gutenberg works.

actual-saurabh commented 5 years ago

I feel the most reasonable way to go about it would be to use Webpack for the bunding and build process for Gutenberg to start off with and keep Gulp for running static file related tasks and such. They can be used together instead of choosing one or the other, at least at the beginning. Gradually, we can move everything over to Webpack unless there are tasks that can't be easily migrated.

See:

So, we could start working on a Gutenberg specific workflow without worrying about the existing build process is my best thought.

AndreaBarghigiani commented 5 years ago

I think that you idea @actual-saurabh is perfect and will let even unexperienced developer like miself to simply follow the settings in the starter repository and add them into your workflow and start building some blocks.

thomasplevy commented 5 years ago

@AndreaBarghigiani I'd love to do a webinar about the workflow. It is advanced but if we're being really honest it's a basic gulp workflow with a configuration file. I realize it's dense and requires more documentation and I'll be adding it in the future. We'll get this clearer as we move forward. At this very moment I can't promise I'll have something built out to really document this in time to get PRs in for Hacktoberfest. And, since Gutenberg is fast approaching it may prove simpler for me to build it out so we can get our core Gutenberg features in. Please don't wait for me if you have a need to really get started on this today. I'd love to have it in but I really truly do not have the capacity to build a framework and teach the workflow before Gutenberg is released. My apologies.

thomasplevy commented 5 years ago

@AndreaBarghigiani development of blocks will be offloaded to a completely separate plugin specifically built for block development: https://github.com/gocodebox/lifterlms-blocks/

This plugin will be loaded as part of the LifterLMS core for the 5.0 release: https://github.com/gocodebox/lifterlms/issues/701