Files
sage/resources/views/blocks/example/README.md
2026-01-04 18:03:17 +00:00

1.6 KiB

Bad Egg's Native Wordpress Block Example

This block serves as a placeholder that can be copied and extended to build native Wordpress blocks.

Features

  • Automatic registration and asset building through the theme's app/blocks.php file and vite.config.js
  • Automatic enqueueing of block scripts and styles if the correct files are included in the block's directory
  • Supports Laravel Blade templates if the render.blade.php file is present, with access to the $attributes, $block, and $content variables.
  • Default block attributes are defined in resources/json/block-attributes.json so that they are not needed in duplicate in block.json
  • A reusable customisation UI is defined in resources/js/blocks/components/BlockSettings.jsx so that multiple blocks can rely on the same controls

Directory Structure

app
│   ...
│
│   blocks.php  ->  this is where the auto registration functions live
│
resources
│   ...
│
└── js
│   └── editor.js
│
└── views
    │   ...
    │
    └── blocks
        │   ...
        │
        └── example
            │  README.md         ->   this file
            │  block.json        ->   (required) the block's metadata
            │  index.jsx         ->   (required) EditorScript
            │  script.js         ->   (optional) Editor & Front end
            │  view.js           ->   (optional) Front end
            │  editor.scss       ->   (optional) Editor
            │  style.scss        ->   (optional) Editor & Front end
            │  render.blade.php  ->   (optional) falls back to index.jsx save