Printing since 1440. Development hub for the editor focus in core. Beta plugin is available from the official WordPress repository.
JavaScript PHP CSS HTML Shell
Switch branches/tags
Permalink
Failed to load latest commit information.
.github Fix typo in "specifics" Jul 21, 2017
bin Fixtures: Omit pretty print option in server block attributes Sep 1, 2017
blocks Add wp-element dependency to example (#2722) Sep 16, 2017
components Use absolute positioning to correctly position the subscript. (#2713) Sep 16, 2017
date WP Date: Fix JS unit tests May 25, 2017
docs ADD: Documentation Improvement — Article Resources! (#2728) Sep 14, 2017
docutron Docs: some design and presentation tweaks. (#2657) Sep 4, 2017
editor Taxonomies: Triming empty terms Sep 18, 2017
element Testing: Move renderToString implementation to test setup Aug 17, 2017
i18n i18n: Support string concatenation in translate function Sep 4, 2017
languages Remove .pot file again (#646) May 4, 2017
lib Merge pull request #2380 from WordPress/try/landmark-regions Sep 8, 2017
phpunit Admin: Generate classic editor URL by removed edit filter Sep 6, 2017
test Chrome: Per user local preferences Aug 22, 2017
utils Utils: Implement focusable utilities by selector Sep 7, 2017
vendor Install `phpcs` using Composer (#1022) Jun 6, 2017
.babelrc Framework: Move babel-plugin-lodash to production build only Aug 4, 2017
.editorconfig CS: Set composer.json to use 4-space indentation Aug 30, 2017
.eslintignore Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
.eslintrc.json Framework: Introduce restricted syntax for string literals on translate Sep 7, 2017
.gitignore Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
.jshintignore Add .jshintignore to ignore all since eslint is employed May 25, 2017
.npmrc Framework: Configure NPM to save exact versions Aug 25, 2017
.nvmrc chore: Bump minimum NodeJS requirement to 6.11.1 and use 6.11.1 every… Jul 28, 2017
.travis.yml Correctly display the phpunit version in use (#2138) Aug 1, 2017
CONTRIBUTING.md Documentation: Document creating new documentation pages Aug 4, 2017
CONTRIBUTORS.md Use w.org username, not Slack username Aug 17, 2017
LICENSE.md Update `LICENSE.md` with WordPress Core Licensing Jun 28, 2017
README.md Absolute URLs (#2735) Sep 16, 2017
TESTS.md Add tests file. Mar 17, 2017
codecov.yml Set thresholds for codecov build failures (#2094) Jul 30, 2017
composer.json CS: Set composer.json to use 4-space indentation Aug 30, 2017
composer.lock PHPCS: Add PHPCompatibility standard Aug 30, 2017
gutenberg.php Bump version to v1.1.0. (#2665) Sep 5, 2017
package-lock.json Utils: Implement focusable utilities by selector Sep 7, 2017
package.json Utils: Implement focusable utilities by selector Sep 7, 2017
phpcs.xml.dist PHPCS: Add PHPCompatibility standard Aug 30, 2017
phpunit.xml.dist Setup server side unit tests (#617) May 10, 2017
post-content.js Remove extra class from demo table Aug 4, 2017
webpack.config.js Build: Update stylesheet build to detect editor / style Aug 11, 2017

README.md

Gutenberg

Build Status Coverage

Printing since 1440.

Text block

This is the development hub for the editor focus in core. Gutenberg is the project name. If you want the latest release for your WordPress, download Gutenberg from the WordPress.org plugins repository. Conversations and discussions take place in #core-editor on the core WordPress Slack. This is our kickoff goal:

The editor will endeavour to create a new page and post building experience that makes writing rich posts effortless, and has “blocks” to make it easy what today might take shortcodes, custom HTML, or “mystery meat” embed discovery. — Matt Mullenweg

WordPress already supports a large amount of "blocks", but doesn't surface them very well, nor does it give them much in the way of layout options. By embracing the blocky nature of rich post content, we will surface the blocks that already exist, as well as provide more advanced layout options for each of them. This will allow you to easily compose beautiful posts like this example.

Check out the FAQ for answers to the most common questions about the project.

Contributors

Gutenberg is built by many contributors and volunteers. Please see the full list in CONTRIBUTORS.md.

Further Reading

How You Can Contribute

Please see CONTRIBUTING.md.

Why

One thing that sets WordPress apart from other systems is that it allows you to create as rich a post layout as you can imagine -- but only if you know HTML & CSS and build your own custom theme. By thinking of the editor as a tool to let you write rich posts, and in a few clicks create beautiful layouts, hopefully, we can make people start to love WordPress, as opposed to pick it because it's what everyone else uses to blog.

Ingredients

The Block

The web is mostly a vertical flow of content, as dictated by the document markup underneath. By surfacing each section of the document as a block to manipulate, we can contextually attach features that are unique to each block. Inspired by desktop layout apps, it's a way to add a breadth of advanced features without weighing down the UI.

By showing critical UI in the body of the content, many can get their basic blogging done, with rich layouts, without ever having to see the post settings.

Advanced Formatting

When the Post Settings sidebar is open — which it is by default — you are essentially in advanced layout mode. By default, you'll see all your metaboxes right there.

Every block can be inspected by clicking it. And every block has advanced layout options available in the inspector; text might have drop-cap, image might have fixed position scrolling. As such, block attributes fall in two camps — the most important ones available right on the block, advanced ones living in the sidebar inspector.