We want to share a quick update of what we have been up to with GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/, and what’s next.
Since the last update, we have been learning more about Gutenberg and ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native and spent some time improving the interoperability of our current editors with Gutenberg. We’ve also planned an initial roadmap to a first prototype about 3 months from now.
This first version is not meant to be very useful for users, but we’ll have a good foundation to build upon that includes the main Gutenberg components, and we’re hoping it will help us uncover any potential roadblocks early. We’ve organized the work into four milestones:
M1: RichText component, Parser, Unsupported blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.
The app can show the blocks that are supported, showing the unsupported block for the rest. We support the paragraph, code, and more blocks, and you can edit the text but not change the style. You can rearrange blocks using up/down buttons.
We’ll look into loading and saving the editor contents. We expect this to be easy and ship it in this milestone, we want to learn about it early even if if it’s not, but it might be postponed to a future milestone.
M2: Toolbar, Inserter
This introduces a basic toolbar and with it comes styling support. You can now add basic styling to a paragraph and we support the heading block. You can add any of the supported blocks to the editor.
M3: Inspector
This milestone introduces the a inspector view where you can modify attributes for existing blocks. We’ll also do some initial research on what needs to happen so a new block is created when you press enter, and an empty block deleted when you press backspace.
M4: Media
This milestone will add initial support for media. The editor will be able to display existing image blocks and modify their properties. You will also be able to replace the existing image with a different one, but it won’t be uploaded anywhere.
You can follow along on the Gutenberg and gutenberg-mobile GithubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repos, and if you have any questions or want to get involved, you can discuss here or find us in the #core-editor and #mobile rooms in WordPress.org Slack.