RegionsExtension
Regions extension factory (ADR 016, data model of ADR 018): structure a text in divisions. Installs the region container
block (its header is its title, its body is its children), the placement / nesting normalizer, and the reactive registry
(nabu.regions, also Regions.get(nabu)).
Related guide: Regions →
It also declares the region commands (region:split on Mod-Enter, the protected merges on Backspace / Delete, and the keyless
region:insert / move / promote / demote / next / prev / parent: see commands.js) and vetoes any silent text merge
into, out of or across a title (onBeforeMerge).
Signature
import { RegionsExtension } from '@aionbuilders/nabu';function RegionsExtension(options?: object): ExtensionParameters
| Parameter | Type | Default | Description |
|---|---|---|---|
optionsoptional | object | {} |
|
options.messagesoptional | RegionMessages | n/a | n/a |
options.typesoptional | Record<string, RegionTypeInit> | n/a | n/a |
Returns
Examples
RegionsExtension({
types: {
part: { level: 1, label: 'Part {index}' },
chapter: { level: 2, label: 'Chapter {index}', numbering: 'document' },
scene: { level: 3, fields: { pov: 'text' } },
},
})Source: src/lib/blocks/region/region.extension.js:64