Automattic / newspack-blocks

Gutenberg blocks for the Newspack project.
207 stars 43 forks source link

Newspack Blocks

This plugin is meant to serve as a container for most Newspack Gutenberg blocks. There may be certain blocks that relate to specific functionality in other plugins, in which case they would live with the primary functionality, but besides this exception most will live in this one.

Setup

To get set up for block development, run composer install && npm install

Generating Builds

To generate a build of the current blocks, run npm run build.

To clean out the built blocks, run npm run clean.

Developing

To work on Block development and have Webpack watch your files for changes run: npm start.

Linting

is performed on changed files before commiting. In other words, is run during pre-commit git hook, but only on staged files. The hook is configured in composer.json.

PHP JS SCSS
tool PHPCS eslint stylelint
config .phpcs.xml.dist .eslintrc.js .stylelintrc
run manually composer lint npm run lint:js npm run lint:scss
autofix ✨ ./vendor/bin/phpcbf <file> npm run lint:js -- --fix npm run lint:scss -- --fix

Building New Blocks

To get started with a new block:

Usage

End-user documentation can be found here.