ArtisanPack UI
DocsVisual EditorHowTo Block

HowTo Block

Visual Editor v1.12.2

Status: v1.9 · issue #759 Block name: The HowTo block persists an ordered list of steps (each with a name, text, optional image + alt) plus a block-level...

Status: v1.9 · issue #759 Block name: artisanpack/howto

The HowTo block persists an ordered list of steps (each with a name, text, optional image + alt) plus a block-level name and description. The Blade renderer emits a HowTo JSON-LD script at request time so Google can surface the page in HowTo rich results.

React and Vue renderers ship the same visual DOM and skip the JSON-LD script so downstream head managers can stay in charge of schema in those environments.


Attributes

Attribute Type Notes
name string HowTo title. Falls back to the first step's name when blank.
description string Optional short description.
steps array<{name, text, imageUrl?, imageAlt?}> Ordered steps. Fully-empty entries are skipped.
headingLevel number (2–6, default 3) Heading level for each step name.
emitSchema boolean (default true) When false the Blade renderer skips the HowTo JSON-LD script.

Security

Every step's imageUrl is passed through UrlSanitizer::safe() before it reaches either the rendered <img src> or the HowToStep.image field in the JSON-LD payload. Values outside the http, https, and mailto allowlist are dropped — matching the Reviews block's URL handling on this same release cycle.

Structured data

The Blade renderer emits a single <script type="application/ld+json"> per rendered HowTo block. Step text is stripped to plain text before being written into the payload; a step with only a name (no body text) still contributes a valid HowToStep by falling back to the name as the required text field.

Stay in the Loop

Monthly tips, tutorials and package updates — plus a free Quick Start cheat sheet.

Subscribe
Edit this page on GitHub