Skip to content

Extend

Build on DXPR Builder: custom elements, hooks, theming, Drush commands and the module's internal architecture. These pages are for developers; pick the row that matches what you want to build.

I want to ... Use Needs
understand how the field, the editor and the front-end script work together Architecture and APIs PHP and JavaScript
add my own elements, icon sets or theme integration Build on it A custom module or theme
script pages from the command line, run the tests or contribute Tooling Drush, Git and a GitHub account

Which should I use

Read the architecture first if you are new to the code: builder content is Bootstrap 5 HTML in a text field, and the editor renders elements in the browser. To change what editors can add, go to Build on it. To automate pages or send a fix upstream, go to Tooling.

In this section

  • Architecture and APIs: Module structure, submodules, CSS architecture, hooks and the API reference
    • Architecture: How the field, the editor and the front-end script work together
    • Submodule architecture: The three submodules and what each one provides
    • CSS architecture: The class naming scheme and how it combines with Bootstrap
    • Hooks API: Alter hooks for utility classes, icon sets and the field render array
    • API reference: PHP services, JavaScript extension points and HTTP routes
    • AI API reference: The AI routes, their request fields and responses
  • Build on it: Custom elements, icon sets and theming
    • Custom elements: Register your own content elements in JavaScript
    • Icon sets: Add icon libraries through YAML discovery or a hook
    • Theming: How themes interact with the builder and its output
  • Tooling: Drush commands, testing and contributing
    • Drush commands: Manage pages, templates and elements from the command line
    • Testing: The console, end-to-end and lint checks and how to run them
    • Contributing: Development setup and the contribution workflow
Something wrong or missing on this page? Report it or edit the page.