Last Updated on December 5, 2024 by Neil Murray
We see the work done by the Gutenberg Team as the best WordPress development done anywhere in the world. We follow their development process & seek to learn from their work & apply it to our plugins.
We examine the work done in the Gutenberg Team to learn how we should work in our plugin development & maintenance.
Our Gutenberg Contributions #
Gutenberg Development
- Github: WordPress/gutenberg
- Gutenburg @param types
- Gutenberg Design Principles & Vision
- Gutenberg Editor Mockups
- Gutenberg – Editor Technical Overview
Gutenberg Documentation
- Gutenberg Documentation
- Gutenberg Storybook
- WordPress data module – @wordpress/data
- Scripts – WP, Vendor & Polyfill Scripts
Other
- @wordpress npm Packages – npm | Github
- Gutenberg Dev Docs: Call for Contributions
Gutenberg Testing
Gutenberg Code Examples
- Add a script that creates a PHP file based on a POT
- components/notice – component for generating admin notice
- Subheading block
- Selectors – “friendlier” state getters
- Refactors the Block Settings Menu
- Allow creating new posts in the Classic Editor
- Refresh nonce with heartbeat
- gutenberg-examples – examples for extending Gutenberg with blocks
- Class example – class-wp-block-type.php
- Editor Effects – editor/store/effects.js
- Editor Selectors – editor/store/selectors.js
- Editor start – editor/index.js
- Element – abstraction layer atop React
- Plugin start – gutenberg.php
Gutenberg Issues
- Documentation: Document the build process (Webpack)
- Change how required built-ins are polyfilled
- Packages: Singleton pattern prone to duplicate, distinct module scopes
- i18n: Add domain argument to localization functions
- i18n: Set locale data per domain
- i18n: Merge PHP and JS strings in POT generation
- Scope & Features: MVP
- Data Module: Expose state using selectors
- Framework: Introduce the data module
- Client side data APIs for Gutenberg (and WordPress in general)
- Hooks: Update hooks public API to make it possible to apply to `wp.hooks` directly
- Editor: Make VisualEditorBlock extensible
- Try: higher level of JS code organization
- Try: Extensibility: Define anchor behavior as filtered blocks support
- Block List: Display inserter button between blocks
- Build: Clean working directory prior to packaging
- Framework: Should we use Prettier?
Gutenberg Discussions
- Global Style System
- Block Style System
- Supporting Metaboxes
- Shrinkable navigation sidebar
- Turning a static block into a dynamic reusable block
- Inspector: go larger font-size and single column
- Introduce `WP_Block` and `WP_Block_Factory` PHP classes and remove globals
- Blocks: Add cog to the side of block, as a shortcut to “advanced” inspector controls
- Icons: New icon for paragraph and preformatted
- Text block: Failures when using shift+enter for adding line breaks
- How should we handle global block settings?
- Blocks: Dotted border on hover and always show the placeholder
- Shortcode support
- Add “Latest Posts” Block
- Creating Columns with Blocks
- Add delete button
Gutenberg Drag & Drop
- Reorder blocks via drag & drop (v2. using editor dropzones)
- Drag and drop extendibility
- Allow sorting blocks through Drag & Drop