Gutenberg is a node based project, built primarily in JavaScript. Be sure to have Node installed first. If you already have node installed, make sure it's version 6.10.3 or higher for this plugin to work correctly. You can check your node version by typing node -v
in the Terminal prompt.
To test the plugin, or to contribute to it, you can clone this repository and build the plugin files using Node.
To do that, open a terminal (or if on Windows, a command prompt) and navigate to the repository you cloned. Now type npm install
to get the dependencies all set up. Once that finishes, you can type npm run build
. You can now upload the entire repository to your wp-content/plugins
directory on your webserver and activate the plugin from the WordPress admin. You'll get a separate WordPress menu item called Gutenberg.
You can also type npm run package-plugin
which will run the two commands above and create a zip file automatically for you which you can use to install Gutenberg through the WordPress admin.
If you have a local WordPress environment, you can clone this repository into your wp-content/plugins
directory directly. Then you can type npm run dev
in your terminal or command prompt to keep the plugin building in the background as you work on it.
Some good options for a local WordPress development environment include VVV and Mamp.
A good workflow is to work directly in this repo, branch off master
, and submit your changes as a pull request.
Ideally name your branches with prefixes and descriptions, like this: [type]/[change]
. A good prefix would be:
add/
= add a new featuretry/
= experimental feature, "tentatively add"update/
= update an existing feature
For example, add/gallery-block
means you're working on adding a new gallery block.
You can pick among all the tickets, or some of the ones labelled Good First Task.
If you'd like to contribute to the design or front-end, feel free to contribute to tickets labelled Design. We could use your thoughtful replies, mockups, animatics, sketches, doodles. Proposed changes are best done as minimal and specific iterations on the work that precedes it so we can compare. If you use Sketch, you can grab the source file for the mockups (updated April 6th).