Rapid

EditorJS block editor fieldtype for ProcessWire. Stores content as JSON, renders HTML server-side via pluggable block renderers.

Rapid adds a modern block editor field to ProcessWire. Editors compose pages with structured Editor.js blocks, while ProcessWire stores the content as JSON and renders clean HTML on the server.

Rapid

It is made for sites that need flexible editorial content without hiding structure inside a traditional rich-text field: articles, landing pages, documentation, portfolios, catalogs and content-driven applications.

Author: Maxim Semenov

Website: smnv.org

Email: maxim@smnv.org

If this project helps your work, consider supporting future development: GitHub Sponsors or smnv.org/sponsor.

What Rapid Does


  • Adds an Editor.js block editor as a native ProcessWire fieldtype.
  • Stores structured JSON instead of editor-generated page markup.
  • Renders blocks to HTML on the server through extensible PHP renderers.
  • Includes paragraphs, headings, quotes, lists, tables, code, images, attachments, embeds, alerts, toggles, link previews and layout blocks.
  • Supports image resizing, cropping and WebP conversion through ProcessWire.
  • Supports Vanilla CSS, Tailwind CSS, Bootstrap 5 and UIkit 3 output.
  • Provides plain-text and raw-JSON access for search, metadata and APIs.
  • Supports field-level block restrictions, heading levels, inline tools and upload rules.
  • Includes optional authorized frontend editing.
  • Sanitizes rich text, Raw blocks, URLs, SVG uploads and remote link previews.

Admin Area


Rapid adds a dedicated ProcessWire admin section where site editors and developers can:

  • view Rapid fields and pages that contain block content;
  • inspect block usage statistics;
  • preview all registered block renderers;
  • verify the installed editor bundle and version hash;
  • configure editor behavior, uploads, output and frontend permissions from field settings.

Block Content


Rapid includes block tools for:

  • paragraphs and headings;
  • quotes, nested lists, checklists and tables;
  • code, warnings, alerts and delimiters;
  • images, galleries, slideshows and attachments;
  • YouTube and Vimeo embeds;
  • link preview cards;
  • toggles, columns and layout sections;
  • sanitized Raw HTML.

Custom PHP block renderers are discovered automatically, so projects can add their own structured content blocks without modifying the core renderer.

Template Usage


Render a Rapid field like any other ProcessWire field:

echo $page->body;

The value object also provides explicit helpers:

echo $page->body->render();

$blocks = $page->body->blocks();
$text = $page->body->toText();
$json = $page->body->toJSON();

For frontend editing:

$rapidEditor = $modules->get('ProcessRapidFrontend');
echo $rapidEditor->renderField($page, 'body');

Include the Vanilla frontend stylesheet when the site does not provide its own block styles:

$config->styles->add($config->urls->Rapid . 'assets/css/rapid.css');

Installation


Requirements: ProcessWire 3.0.200 or newer and PHP 8.2 or newer.

  1. Copy the Rapid folder into /site/modules/.
  2. In ProcessWire Admin, refresh modules.
  3. Install Rapid.
  4. Add a field with the Rapid field type to a template.
  5. Configure available blocks, uploads and output in the field settings.

Installing the primary Rapid module automatically installs the required Fieldtype, Inputfield, admin process and frontend editor modules.

No Node.js build step is required for installation. A pre-built editor bundle is included in assets/js/dist/.

Development


Editor source and npm dependencies live in src/js/. Rebuild the browser bundle after JavaScript changes:

cd src/js
npm install
npm run build

Run the security smoke tests with:

npm test

Documentation


See DOCUMENTATION.md for complete setup, configuration, API and development guidance.

See CHANGELOG.md for release notes and security-related changes.

Author


Maxim Semenov

smnv.org

maxim@smnv.org

License


MIT

More modules by Maxim Semenov

  • Context

    Export ProcessWire site context for AI development (JSON + TOON formats)
  • Ichiban (SEO control center)

    Comprehensive SEO module: meta/OG/schema, audit, redirects, revisions, email reports.
  • WireWall

    Advanced traffic firewall with VPN/Proxy/Tor detection, rate limiting, and JS challenge
  • Ally (a11y)

    Self-hosted accessibility widget powered by Sienna (MIT). Adds font, contrast, language, and navigation tools to any page. No external CDN — the JS bundle is served from your own server.
  • Subscribe

    Newsletter subscription handler with lists, double opt-in, honeypot, rate limiting and unsubscribe link.
  • Robots.txt

    Manage robots.txt file through the admin UI with presets and visual editor.
  • Dimensions

    Stores product dimensions (L×W×H) and weight with selectable units of measurement.
  • Squad

    AI integration for ProcessWire. Supports Anthropic, OpenAI, Google, xAI, and OpenRouter.
  • Rapid

    EditorJS block editor fieldtype for ProcessWire. Stores content as JSON, renders HTML server-side via pluggable block renderers.

All modules by Maxim Semenov

Install and use modules at your own risk. Always have a site and database backup before installing new modules.