Printing since 1440. Development hub for the editor focus in core.
JavaScript PHP CSS HTML Shell
Switch branches/tags
Latest commit 252937b Jul 21, 2017 @afercia afercia committed on GitHub Merge pull request #1972 from moorscode/patch-1
Fix typo in "specifics"
Permalink
Failed to load latest commit information.
.github Fix typo in "specifics" Jul 21, 2017
bin Improve PHP parser compatibility with different server configurations ( Jul 13, 2017
blocks Merge pull request #1938 from WordPress/update/table-block-tabbing-away Jul 19, 2017
components Try: Add component for handling keyboard events (#1944) Jul 19, 2017
date WP Date: Fix JS unit tests May 25, 2017
docs Fix typo Jul 19, 2017
docutron Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
editor Merge pull request #1802 from WordPress/add/document-title Jul 20, 2017
element Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
i18n Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
languages Remove .pot file again (#646) May 4, 2017
lib Add getDocumentTitle selector Jul 19, 2017
phpunit Improve PHP parser compatibility with different server configurations ( Jul 13, 2017
test Fix warnings during tests and prevent them from reoccurring (#1769) Jul 10, 2017
utils Try: Add component for handling keyboard events (#1944) Jul 19, 2017
vendor Install `phpcs` using Composer (#1022) Jun 6, 2017
.babelrc Add missing comma Jun 29, 2017
.editorconfig EditotConfig: Relax 2 space indentation rule to only the `package.jso… Jun 7, 2017
.eslintignore Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 2017
.eslintrc.json Documentation: Try a new custom documentation tool to rule them all (#… Jul 10, 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
.nvmrc Plugin: Implement block registering API (#289) Mar 22, 2017
.travis.yml Merge pull request #1818 from WordPress/try/trusty-travis Jul 18, 2017
CONTRIBUTING.md Tests: Fix all issues introduced when executing jest-codemods Jul 8, 2017
CONTRIBUTORS.md Merge branch 'master' into patch-8 Jul 9, 2017
LICENSE.md Update `LICENSE.md` with WordPress Core Licensing Jun 28, 2017
README.md README - link to the FAQ Jul 14, 2017
TESTS.md Add tests file. Mar 17, 2017
composer.json Merge upstream `composer.json` recent changes Jul 10, 2017
composer.lock Use development version of wpcs Jun 27, 2017
gutenberg.php Update plugin to version 0.5.0. (#1904) Jul 14, 2017
package.json Try: Add component for handling keyboard events (#1944) Jul 19, 2017
phpcs.xml.dist Add WordPress.WP.I18n phpcs sniff and configure to check for missing … Jul 8, 2017
phpunit.xml.dist Setup server side unit tests (#617) May 10, 2017
post-content.js Resolve empty gallery preview on demo post content (#1785) Jul 17, 2017
webpack.config.js Tests: Setup Jest as an alternative test runner (#1382) Jul 6, 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.